[파이썬기초] 데이터전처리 중복값 처리

2020. 4. 7. 14:18노트/Python : 프로그래밍

 

import pandas as pd 

# 중복데이터 생성 
# 데이터 병합 시 중복 데이터 많이 발생함 
df=pd.DataFrame({
    'k1':['b','b','b','c','c'],
    'k2':['x','y','y','x','z'],
    'col':[10,20,30,40,50]
})
df

 

# 중복 데이터 확인 
df.duplicated(['k1'])
df.duplicated(['k1','k2'])

# 불린참조로 중복값 확인 
df[df.duplicated()]

# 중복값의 기준, 첫번째 깂? 마지막번째 값? 
df.duplicated(['k1'],keep='first') # keep= first : default 
df.duplicated(['k1'],keep='last') 
df.duplicated(['k1'],keep=False) # 중복은 모두 True로 표시 

 

# 중복값 제거 (1개만 살리고, 나머지 중복은 제거)
df.drop_duplicates(['k1'],keep="first") #중복된 값의 첫번째 만 남겨두고 제거 
df.drop_duplicates(['k1'],keep="last") #중복된 값의 마지막번째 만 남겨두고 제거 
df.drop_duplicates(['k1'],keep=False) # 중복된 값 모두 제거 

 

# 지정된 열(column)의 유일한 값 확인 
df['k1'].unique()

 

# 지정된 열(column)의 유일한 값 갯수 세기 
df['k1'].value_counts()

 

df['k1'].value_counts(normalize=True) #normalize=True: 상대비율로 나타냄 (defalut: False)

 

df['k1'].value_counts(normalize=False,
                     sort=True, # 갯수기준 정렬
                     ascending=False) # 내림차순