pandas(13):資料清洗(重複記錄)
阿新 • • 發佈:2021-06-15
資料來源:
df= pd.DataFrame({'k1': [ 's1']* 3 + ['s2']* 5,'k2' : [1, 1, 2, 3, 3, 4, 4,4]})
df
1 重複值判斷和檢視
df.duplicated(subset=None, keep='first')
功能:
指定列資料重複項判斷,返回指定列重複行boolean Series.
引數說明:
- subset=None:列標籤或標籤序列,可選,只考慮某些列來識別重複項;預設使用所有列。
- keep='first':{'first','last',False}
- first:將第一次出現重複值標記為True。
- last:將最後一次出現重複值標記為True。
- False:將所有重複項標記為True。
# 預設判斷所有列,只有第一條不標記為true,後面重複出現的都是true
df.duplicated()
# subset=[list],只判斷指定列
df.duplicated(subset=['k1'])
# keep='last',只最後一次不標記為true,前面的都標記為true
df.duplicated(keep='last')
# keep=false,所有重複項都標記為true
df.duplicated(keep=False)
# 檢視記錄重複數量,不包括首次出現那條記錄 df.duplicated().value_counts() # 檢視記錄重複的所有數量 df.duplicated(keep=False).value_counts() # 檢視所有重複記錄 df[df.duplicated(keep=False)] # 檢視除首條外的所有重複記錄 df[df.duplicated()]
2 重複值刪除
df.drop_duplicates(subset=None, keep='first', inplace=False)