本文詳解如何使用pandas查看dataframe的重複數據,判斷是否重複,以及如何去重code
dataframe數據樣本:pandas
import pandas as pd df = pd.DataFrame({'name':['蘋果','梨','草莓','蘋果'], 'price':[7,8,9,8], 'cnt':[3,4,5,4]}) name cnt price 0 蘋果 3 7 1 梨 4 8 2 草莓 5 9 3 蘋果 6 8
a = df.groupby('price').count()>1 price = a[a['cnt'] == True].index repeat_df = df[df['price'].isin(price)]
1. 判斷dataframe數據某列是否重複ast
flag = df.price.duplicated() 0 False 1 False 2 False 3 True Name: price, dtype: bool flag.any()結果爲True (any等於對flag or判斷) flag.all()結果爲False (all等於對flag and判斷)
2. 判斷dataframe數據整行是否重複import
flag = df.duplicated() 判斷方法同1
3. 判斷dataframe數據多列數據是否重複(多列組合查)方法
df.duplicated(subset = ['price','cnt']) 判斷方法同1
1. 對dataframe數據數據去重im
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) 示例: df.drop_duplicats(subset = ['price','cnt'],keep='last',inplace=True) drop_duplicats參數說明: 參數subset subset用來指定特定的列,默認全部列 參數keep keep能夠爲first和last,表示是選擇最前一項仍是最後一項保留,默認first 參數inplace inplace是直接在原來數據上修改仍是保留一個副本,默認爲False