本文详解如何使用pandas查看dataframe的重复数据,判断是否重复,以及如何去重
dataframe数据样本:
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()方法判断
- 判断dataframe数据某列是否重复
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判断)
- 判断dataframe数据整行是否重复
flag = df.duplicated()
判断方法同1
- 判断dataframe数据多列数据是否重复(多列组合查)
df.duplicated(subset = [‘price’,’cnt’])
判断方法同1
drop_duplicats()方法去重
- 对dataframe数据数据去重
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
Original: https://blog.csdn.net/weixin_35744849/article/details/114910610
Author: 石悦
Title: python dataframe去除重复项_pandas dataframe重复数据查看.判断.去重
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/751327/
转载文章受原作者版权保护。转载请注明原作者出处!