금융퀀트/프로그램기초

파이썬 : 데이터 형식(&Pandas 데이터)

문송한투자자 2021. 7. 5. 23:58
반응형

튜플(tuple)

튜플은 데이터를 괄호( "(  )" )로 둘러싼다. 보통 아래와 같이 쓰인다. 

tuple1 = ()
tuple2 = (1, 2, 3, 4)

튜플은 튜플 속의 요소들을 변경할 수 없다는 점에서 리스트(list) 형식과 구분된다. 하지만 어차피 프로그램 한 번 돌려서 SQL Database 나 Excel 에 저장해 두고 그것을 다시 불러와서 작업하는 형태이기 때문에 요소들을 변경할 수 없다는 점이 무슨 쓰임이 있는지는 모르겠다. 

리스트(list)

리스트는 데이터를 대괄호( "[   ]" )로 둘러싼다. 보통 아래와 같이 쓰인다.

list1 = []
list2 = [1, 2, 3, 4]
list3 = [[1, 2, 3, 4],[1, 2, 3, 4]]

리스트의 특징은 튜플과 다르게 요소들을 변경할 수 있다는 점이다. ( 그냥 데이터 작업할 때 튜플 쓰지말고 리스트 쓰면 된다는 뜻이다. ) 하지만 리스트라는 데이터 형식에서 가장 중요한 것은 위 코드의 list3이 matrix를 의미한다는 뜻이다. 위 list3을 다시쓰면 아래와 같다.

1 2 3 4
1 2 3 4

즉, 리스트 데이터 형식에서 시작에서 엑셀 혹은 SQL DB 모양으로 데이터를 만들어 나갈 수 있는 것이다. 

딕셔너리(dict)

리스트랑 똑같은데 요소 하나하나에 key 값이 붙어있는 것이라고 생각하면 되며, Key와 Value 한쌍으로 요소를 이루며, 중괄호( "{  }" )로 둘러싼다.

dictionary1 = {Key:1, Key1:2, Key3:3, Key4:4 ...}
dictionary2 = {'CJ':'105,000', 'KB금융':'54,000', 'KCC':'338,500', 'nhn':'82,100' ...}

각 요소는 콤마(" , ")로 구분되고, 키값과 Value값은 세미코론(" : ")으로 구분된다. 

Pandas Data

Series

Series 는 위에 제시된 튜플, 리스트, 딕셔너리 데이터 요소에 인덱싱을 해주는 pandas 가 가진 함수이자 데이터 형태라고 보면 된다. 

import pandas as pd
tuple2 = (1, 2, 3, 4)
series_tuple = pd.Series(tuple2)
print(series_tuple) 

list2 = [1, 2, 3, 4]
series_list = pd.Series(list2)
print(series_list)

dictionary2 = {'CJ':'105,000', 'KB금융':'54,000', 'KCC':'338,500', 'nhn':'82,100'}
dict_list = pd.Series(dictionary2)
print(dict_list)

위 코드를 실행시켜 보면 딱히 Key 값을 설정하지 않은 tuple 이나 list 에는 0 ~ 3 까지의 key 값이 따라서 print 될 것이고, dictionary2 에서는 원레 설정한 key 값과 함께 그에 대응되는 value 값이 같이 print 되는 것을 확인할 수 있다. 

DataFrame

한 줄로 쭉 늘여진 데이터를 가로세로 GRID 에 맞춰서 쭉 펴 주는 기능을 하는 pandas 함수이자 데이터 형태라고 보면 된다. 

import pandas as pd

list2_1 = [[1, 2, 3, 4], [11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
df_list = pd.DataFrame(list2_1)
print(df_list)

dictionary2_1 = {'CJ':['001040','KOSPI','105,000'], \
				'KB금융':['105560','KOSPI','54,000'], \ 
                'KCC':['002380','KOSPI','338,500'],\
                'nhn':['181710','KOSPI','82,100']}
df_dict = pd.DataFrame(dictionary2_1)
print(df_dict)

여기서 주목할 점은 list 데이터를 DataFrame 에 넣을 때는 아래 결과와 같이 행(Row)이 추가되는 형식으로 DataFrame이 만들어지고, 

# print(df_list) 의 결과

    0   1   2   3
0   1   2   3   4
1  11  12  13  14
2  21  22  23  24
3  31  32  33  34

dictionary 데이터를 DataFrame 에 넣을 때는 아래 결과와 같이 열(Column)이 추가되는 형식으로 DataFrame이 만들어 진다는 점이다. 

# prind(df_dict) 결과
        CJ    KB금융      KCC     nhn
0   001040  105560   002380  181710
1    KOSPI   KOSPI    KOSPI   KOSPI
2  105,000  54,000  338,500  82,100
반응형