반응형
오랜만에 포스팅을 남기네요. 오늘은 간단하게 pandas 중에서 피벗(pivot_table)을 사용할 때, 유용하게 쓸 수 있는 기능을 소개하고 기록해보려고 합니다. 제가 요즘 퀀트투자를 공부하고 있는데요. 주식 관련 데이터를 수집하고 가공하는 일(?)을 많이 하고 있습니다. 그 중에서 해외ETF 데이터를 다루면서 마주친 부분과 해결방법에 대해서 소개해 드리겠습니다.
1. 데이터 소개
개발환경은 주피터노트북이며, 데이터프레임에 대해서 간략하게 소개해드리면 인베스팅닷컴을 통해 해외ETF(SPY, TLT) 데이터를 수집하였으며, 월말(EOM), 연말(EOY), 월초(IOM) 그리고 월별수익(%) 컬럼 등으로 추가하여 가공했습니다.
2. pivot_table 활용
위 데이터프레임에서 index 컬럼을 기준으로 종목별 월말수익(%)를 가져와 합산하는게 목표 입니다. 어떻게 해야 할까요? 아래처럼 피벗 기능인 pivot_table을 쓰면 됩니다.
그럼 SPY 열과 TLT 열을 더하려면 어떻게 해야 할까요? 여러가지 방법이 있겠죠. 저는 아래와 같이 해결했습니다.
1. 우선 reset_index(drop=True) 해주었습니다.
2. rename_axis(None, axis=1)
reset_index() 할때 파라미터로 drop=True 가 있을때와 없을 때 차이점을 확인해보세요.
3. sum(axis=1) 각 열 합산하기
감사합니다.
'SW개발 > python' 카테고리의 다른 글
[python] pandas rolling 과 shift rolling (0) | 2021.11.22 |
---|---|
[python] 딕셔너리 Dictionary 구조 활용 (0) | 2021.11.17 |
[python] slack bot 메시지 보내는 법 (0) | 2021.10.06 |
[python] PyQt5 그래프 그리기(feat. plotly, matplotlib) (0) | 2021.09.10 |
[python] 연도, 월별 손쉬운 for loop 생성 방법 (0) | 2021.07.29 |