데이터 다루기
[DataFrame] pandas DataFrame 중복 행 제거, 인덱스 초기화
1sr11s
2023. 8. 29. 23:35
📌중복 행 제거
DataFrame에서 중복행을 제거하기 위해선 방법은 drop_duplicates()뿐이다.
파라미터는 다음과 같다.
DataFrame.drop_duplicates(subset=None,
keep='first',
inplace=False,
ingnore_index=False)
subset
: 해당컬럼 기준으로 중복 행을 제거한다. 아무것도 쓰지 않으면 모든 컬럼을 기준으로 중복행을 제거한다.keep
: {'first'.'last',False}- 디폴트 값은 first
- first : 첫번째에 위치한 것 빼고 다 지운다.
- last : 마지막에 위치한 것 빼고 다 지운다.
- False : 모두 다 지운다.
inplace
: True, False- 디폴트 False
- 기존 데이터프레임에 반영 여부
ignore_index
: True, False- 디폴트는 False
- 인덱스 재구성 여부
reset_index
와 같은 개념
🔍2개 이상의 컬럼을 비교해 중복을 제거
비교 대상이 2개 이상의 컬럼일 때, 즉 A와 B의 컬럼이 모두 같은 값을 갖는 경우일 때 컬럼을 리스트로 작성
DataFrame.drop_duplicates(subset=['첫번째행', '두번째행'],
keep='first',
)
📌인덱스 초기화
중복행을 지우고 난뒤 인덱스를 재구성하지 않으면 loc를 쓸 때 어려움多
즉 중복행을 지운 데이터 프레임을 계속 사용시 인덱스 리셋하는 습관 기르기!!
ingnore_index=True와 reset_index는 같은 효과로 인덱스를 재구성함
- 인덱스 초기화 두가지 방법
#첫번째 방법 DataFrame.drop_duplicates(subset=None, keep='first', ingnore_index = True ) #두번째 방법 DataFrame.drop_duplicates(subset=None, keep='first' ).reset_index(drop=True)