-
데이터 분석을 하다보면 특정 컬럼의 중복값을 제거해야 할 때가 있는데, pandas의 duplicates, drop_duplicates 메소드를 사용할 수 있다.
duplicates( [ 'column' ], keep='first | last | False' ) : [ 'column' ] 에 대해서 중복이 있는지 확인
drop_duplicates( ['column'] , keep='first | last | False') : [ 'column' ] 중복값 처리
예제) 일자별 품목에 대한 금액 변동 DataFrame
product = [['2020-01-01','T10001', 20000, 'BLACK'], ['2020-01-01','S10001', 10000, 'WHITE'], ['2020-01-01','S20001', 12000, 'PINK'], ['2020-01-01','T20003', 30000, 'BLACK'], ['2020-01-05','S10001', 9000, 'WHITE'], ['2020-01-20','T10001', 19000, 'BLACK'], ['2020-01-10','T20003', 25000, 'BLACK'], ['2020-01-22','T10001', 17500, 'BLACK'], ['2020-01-19','S20001', 10000, 'WHITE']] import pandas as pd df = pd.DataFrame(product, columns=['regdate','product_code','price', 'color']) df
product_code 중복이 있는지 확인
# keep = 'first' 첫 번째값은 False, 두 번째 값부터는 True 반환 df.duplicated(['product_code'], keep='first')
# keep = 'last' first의 반대 df.duplicated(['product_code'], keep='last')
# keep = False 처음과 끝과 관계없이 중복이면 True df.duplicated(['product_code'], keep=False)
product_code 컬럼 중복처리
# keep = 'first' 중복값 중 처음값만 표시 df.drop_duplicates(['product_code'], keep='first')
# keep = 'last' 중복값 중 마지막값만 표시 df.drop_duplicates(['product_code'], keep='last')
# keep = False 중복값은 모두 제거. 유일한 값만 표시 df.drop_duplicates(['product_code'], keep=False)
'Python > Python For Analytics' 카테고리의 다른 글
[Python] matplotlib - 그래프에 값 표시 하기 (1) 2020.08.02 [Python] matplotlib - lollipop graph (0) 2020.07.15 [Python] matplotlib - pie graph (0) 2020.07.09 [Python] matplotlib - angle line graph (0) 2020.07.08 [Python] Pandas iis-log DataFrame 접속자IP 국가식별 컬럼 추가 (0) 2020.02.28 [Python] split을 이용하여 pandas 컬럼 분리하기 (0) 2020.02.25 [Python] replacement of Pandas dataframe NaN value (0) 2020.02.16 [Python] padnas dataframe URL Decode (2) 2020.02.16