본문 바로가기

Python

python 판다스(pandas) - 중복 index 제거 하기

반응형

 

 

가끔 데이터를 외부 소스로 부터 받아오면 중복 인덱스 데이터가 포함된 경우가 있다.

예를들면 아래와 같다.

 

                      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'를 인자로 주면 된다.

반응형