当前位置: 移动技术网 > IT编程>脚本编程>Python > pandas dataframe重复数据查看.判断.去重

pandas dataframe重复数据查看.判断.去重

2019年11月17日  | 移动技术网IT编程  | 我要评论

哥特式洛丽塔,越来越好简谱,uu图片

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网