반응형

데이터 분석을 위해서는 R언어도 사용이 많이 되지만 파이썬도 정말 많이 사용이 됩니다. 그중 손에 꼽는 라이브러리를 뽑자면 바로 pandas(판다스)입니다. 주식 데이터만 보더라도 2차원으로 다뤄집니다. 기존의 데이터 타입으로 보기 좋게 그리고 쉽게 쉽게 데이터 핸들을 하기에는 조금은 불편합니다.

그래서 더욱 편리하게 분석을 하기 위해서 사용되는 라이브러리입니다. 이렇게 원하는 데이터를 가공하고 보기 쉽게 인사트이를 얻기 위해서 판다스를 학습하도록 하겠습니다.

 

설치

가상환경을 켜주시고요 아래의 명령어를 입력해주세요.

pip install pandas

DataFrame

DataFrame 사용법은 딕셔너리 처럼 키(key)와 값(value)을 주면 됩니다.

from pandas import Series, DataFrame

if __name__ == '__main__':
    raw_data = {'col0': [1, 2, 3, 4],
                'col1': [10, 20, 30, 40],
                'col2': [100, 200, 300, 400]}

    data = DataFrame(raw_data)
    print(raw_data)
    print('--------------------------------')
    print(data)

raw_data 딕셔너리를 만들어 줍니다.

다음으로 DataFrame의 생성자로 넘겨주시면 되겠습니다.

위에는 raw_data 값(딕셔너리)이고 아래는 DataFrame 을 출력했습니다. DataFrame이 보기에도 깔끔합니다.

다음으로는 실제 주식 데이터를 받는다고 생각하고 데이터를 저장합니다.

from pandas import Series, DataFrame

if __name__ == '__main__':
    daeshin = {'open':  [11650, 11100, 11200, 11100, 11000],
            'high':  [12100, 11800, 11200, 11100, 11150],
            'low' :  [11600, 11050, 10900, 10950, 10900],
            'close': [11900, 11600, 11000, 11100, 11050]}

    date = ['20.03.09', '20.03.10', '20.03.11', '20.03.12', '20.03.13']
    daeshin_day = DataFrame(
                    daeshin,
                    columns=['open', 'high', 'low', 'close'],
                    index=date
                    )
    print(daeshin_day)
    print('--------------------------------')
    print(daeshin_day['open']['20.03.09'])

DataFrame에 columns이라는 인자가 보입니다. columns 인자를 입력해주면 입력되는 컬럼의 순서를 지정할 수 있습니다. index 인자를 입력해주면 맨 왼쪽에 보이시는 인덱스를 직접 입력 하실 수 있는데요. 인덱스를 입력해주시지 않으면 0, 1, 2 순번이 입력이 됩니다. columns 인자를 넘기지 않는다면 컬럼의 순서가 임의로 변경 될 수 있습니다.

흔히 다루는 DataFrame 방법입니다. 컬럼 / 인덱스 / 로우를 출력하는 모습을 보실 수 있습니다.

# Columns
print(daeshin_day.columns)
# index
print(daeshin_day.index)  
# loc
print(daeshin_day.loc['20.03.09'])

전체적인 데이터를 살펴 볼때 출력을 다음과 같이 출력을 해봅니다.

앞쪽 2개, 마지막 2개, 슬라이스로 0부터 2까지 출력하는 모습입니다.

print(daeshin_day.head(2))
print(daeshin_day.tail(2))
print(daeshin_day[0:3])

 

판다스를 다루는 방법을 익혀 봤습니다.

판다스는 기능들이 정말 많은데 이 내용은 판다스를 다루는 내용 중 기본입니다.

손에 익히고 필요로 하는 내용들은 그때그때 더욱 익히도록 해야겠습니다.

 

감사합니다.

 

* 참고자료(위키독스)

https://wikidocs.net/2873

반응형

+ Recent posts