본문 바로가기
Python/Pandas

pandas dataframe Non-Unique Index 오류 해결하기

by PySun 2023. 11. 10.
반응형

"Non-Unique Index Error"는 Pandas 데이터프레임에서 인덱스가 중복되는 경우에 발생할 수 있는 오류입니다. 기본적으로 데이터프레임의 인덱스는 고유(unique)해야 하지만, 중복된 인덱스가 있는 경우 이 오류가 발생합니다. 다음은 "Non-Unique Index Error"가 발생할 수 있는 상황과 해결 방법을 설명하겠습니다.
 

상황: 중복된 인덱스가 있는 경우

import pandas as pd

# 중복된 인덱스가 있는 데이터프레임
data = {'A': [1, 2, 3, 4]}
df = pd.DataFrame(data, index=[0, 1, 1, 2])

이 경우, 인덱스 1이 두 번 중복되어 "Non-Unique Index Error"가 발생할 수 있습니다.


해결 방법 1: 중복된 인덱스를 제거하기

중복된 인덱스를 제거하려면 duplicated() 함수를 사용하여 중복된 인덱스를 확인하고, drop_duplicates() 함수를 사용하여 중복을 제거하세요.

# 중복 데이터들 중 first 행만 남기기
df = df[~df.index.duplicated(keep='first')]


해결 방법 2: 중복된 인덱스를 고유하게 만들기

중복된 인덱스를 고유하게 만들려면 새로운 인덱스를 생성하거나 중복된 인덱스를 수정하세요.

# 새로운 인덱스 생성
df = df.reset_index(drop=True)


해결 방법 3: 중복된 인덱스 처리를 선택사항으로 사용

중복된 인덱스 처리를 선택사항으로 사용하려면 groupby() 또는 pivot_table()과 같은 그룹화 함수를 사용하여 중복을 처리하세요.

# 중복된 인덱스를 합산
result = df.groupby(df.index).sum()


"Non-Unique Index Error"를 해결하려면 중복된 인덱스를 제거하거나 고유하게 만들어야 합니다. 이렇게 하면 데이터프레임을 올바르게 사용할 수 있습니다.

반응형