-
pandas 데이터 분석 - 중복제거(drop_duplicates)데이터분석/파이썬 2022. 6. 26. 14:20반응형
https://kbkb456.tistory.com/88?category=1021504
pandas 데이터 분석 - group by를 이용한 집계(sum, count, min, max, mean, median, std, var, quantile, describe, agg)
https://kbkb456.tistory.com/86 pandas 데이터 분석 4 - apply, map를 활용해서 컬럼 연산해보기 https://kbkb456.tistory.com/85 pandas 데이터 분석 3 - 데이터 합치기(merge, append, inner join, left outer..
kbkb456.tistory.com
오늘은 데이터 프레임에 중복이 있을 때 어떻게 처리하는지 알아보겠습니다.
pandas에서는 데이터의 중복을 제거하기위해 drop_duplicates라는 함수를 활용합니다. 해당 함수는 Series, DataFrame에 모두 활용할 수 있습니다.
샘플 데이터 프레임
샘플 데이터프레임 생성코드
#예제용 데이터프레임 df = pd.DataFrame([[1,2,3],[0,2,4],[0,3,3],[1,2,3]],columns=['c1','c2','c3'])
샘플테이블 drop_duplicates
#문법 데이터프레임.drop_duplicateds(subset=None, keep='first',inplace=False) - subset : 중복을 처리할 대상이 되는 열 - keep - first: 해당값을 발견한 첫번째 값을 제외하고 중복항목삭제 - last: 해당값을 마지막으로 발견한 데이터를 제외하고 중복제이터를 삭제 - False: 모든 중복 데이터를 삭제 - inplace: 해당 제거된 데이터를 원본데이터로 변경할지 True/False로 결정
내가 만약에 c1컬럼을 기준으로 중복처리를 하면 어떻게 될까요?
df.drop_duplicates(subset='c1')
1,0이 발견된 가장 첫번째 값이 나왔다. 보시다시피 keep 설정을 안 하면 첫 번째 값이 기본값으로 남고 나머지는 제거됩니다. 그럼 keep을 라스트로 넣어볼까요?
df.drop_duplicates(subset='c1',keep='last')
중복처리할 c1 0,1 값중에 마지막 값만 살아남는다. keep 옵션에서 last를 넣게되면 해당 0과 1에 마지막 값 행만 살아남게 됩니다. 그럼 따로 subset을 안 하면 어떻게 될까요?
df.drop_duplicates()
3 컬럼이 모두 중복된것만 사라진다. 따로 subset을 안하게 되면 정확히 모든 행일 일치하는 중복만 처리하게 됩니다.
https://colab.research.google.com/drive/1yJzJo7R6sL7Rcf2XIhHGcFj3zUKxyjcX?usp=sharing
중복제거.ipynb
Colaboratory notebook
colab.research.google.com
오늘은 간단하게 데이터프레임에서 중복 값을 제거하는 법에 대해서 알아봤습니다!
반응형'데이터분석 > 파이썬' 카테고리의 다른 글