pandas dataframe重复数据查看.判断.去重
程序员文章站
2022-11-07 21:06:17
本文详解如何使用pandas查看dataframe的重复数据,判断是否重复,以及如何去重 ......
本文详解如何使用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()方法判断
1. 判断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判断)
2. 判断dataframe数据整行是否重复
flag = df.duplicated() 判断方法同1
3. 判断dataframe数据多列数据是否重复(多列组合查)
df.duplicated(subset = ['price','cnt']) 判断方法同1
>> drop_duplicats()方法去重
1. 对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