반응형
가끔 데이터를 외부 소스로 부터 받아오면 중복 인덱스 데이터가 포함된 경우가 있다.
예를들면 아래와 같다.
open high low close
2021-10-05 20:00:00 822.0 830.0 820.0 828.0
2021-10-05 20:00:00 822.0 830.0 820.0 828.0
2021-10-05 20:30:00 830.0 831.0 819.0 819.0
2021-10-05 21:00:00 819.0 822.0 803.0 816.0
2021-10-05 21:30:00 815.0 839.0 812.0 818.0
2021-10-05 21:30:00 815.0 839.0 812.0 818.0
2021-10-05 22:00:00 818.0 822.0 811.0 818.0
위는 주식 데이터를 30분 봉으로 가져오는 데이터인데, 보다보면 중복된 시간 데이터가 있는 것을 볼 수 있다.
pandas에서 이를 한번에 처리하기 위해서는 아래와 같이 중복된 인덱스를 제거할 수 있다.
# 중복제거
df = df.loc[~df.index.duplicated(keep='first')]
위 코드는 dataframe 의 index의 중복을 제거할 수 있고, keep의 인자로 'first'룰 주면 가장 먼저 나온 index의 값을 사용하고 나머지는 버린다. 만약 마지막 데이터를 쓰고 싶다면 'last'를 인자로 주면 된다.
반응형
'Python' 카테고리의 다른 글
[python pandas] 주식 이동평균선 구하기 (0) | 2021.10.17 |
---|---|
[python pandas] matplotlib.pyplot으로 주식 차트에 buy sell 표시하기 (0) | 2021.10.11 |
[python3] sys.stderr.write(f"ERROR: {exc}") 에러 해결법 (0) | 2021.08.13 |
[python] datetime 날짜와 시간 차이 구하기 (0) | 2021.06.26 |
[python] 폴더 있는지 체크하고 없으면 만들기 (mkdir -p) (0) | 2021.06.14 |