ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 : 데이터 형식(&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
    반응형
Designed by Tistory.