pandas dataframe重複數據查看.判斷.去重

本文詳解如何使用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

>> 查看dataframe的重複數據

a = df.groupby('price').count()>1
price = a[a['cnt'] == True].index
repeat_df = df[df['price'].isin(price)]

>>duplicated()方法判斷

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

>> drop_duplicats()方法去重

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
相關文章
相關標籤/搜索