pandas中DataFrame检测重复值的实现

本文详解如何使用pandas查看dataframe的重复数据,判断是否重复,以及如何去重

DataFrame.duplicated(subset=None, keep='first')

subset:如果你认为几个字段重复,则数据重复,就把那几个字段以列表形式放到subset后面。默认是所有字段重复为重复数据。

keep:

  • 默认为'first' ,也就是如果有重复数据,则第一条出现的定义为False,后面的重复数据为True。
  • 如果为'last',也就是如果有重复数据,则最后一条出现的定义为False,后面的重复数据为True。
  • 如果为False,则所有重复的为True

下面举例

df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]
})
df

# 默认为keep="first",第一条重复的为False,后面重复的为True
# 一般不会设置keep,保持keep为默认值。
df.duplicated()

结果
0    False
1     True
2    False
3    False
4    False
dtype: bool

# keep="last",,最后一条重复的为False,后面重复的为True
df.duplicated(keep="last")

结果
0     True
1    False
2    False
3    False
4    False
dtype: bool

# keep=False,,所有重复的为True
df.duplicated(keep=False)

结果
0     True
1     True
2    False
3    False
4    False
dtype: bool

# sub是子,subset是子集
# 标记只要brand重复为重复值。
df.duplicated(subset='brand')

结果

0    False
1     True
2    False
3     True
4     True
dtype: bool

# 只要brand重复brand和style重复的为重复值。
df.duplicated(subset=['brand','style'])

结果

0    False
1     True
2    False
3    False
4     True
dtype: bool

# 显示重复记录,通过布尔索引
df[df.duplicated()]

# 查询重复值的个数。
df.duplicated().sum()

结果
1

到此这篇关于pandas中DataFrame检测重复值的实现的文章就介绍到这了,更多相关pandas DataFrame检测重复值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pandas统计重复值次数的方法实现

    本文主要介绍了pandas统计重复值次数的方法实现,分享给大家,具体如下: from pandas import DataFrame df = DataFrame({'key1':['a','a','b','b','a','a'], 'key2':['one','two','one','two','one','one'], 'data1':[1,2,3,2,1,1], # 'data2':np.random.randn(5) }) # 打印数据框 print(df) # data1 key1 k

  • pandas中DataFrame检测重复值的实现

    本文详解如何使用pandas查看dataframe的重复数据,判断是否重复,以及如何去重 DataFrame.duplicated(subset=None, keep='first') subset:如果你认为几个字段重复,则数据重复,就把那几个字段以列表形式放到subset后面.默认是所有字段重复为重复数据. keep: 默认为'first' ,也就是如果有重复数据,则第一条出现的定义为False,后面的重复数据为True. 如果为'last',也就是如果有重复数据,则最后一条出现的定义为Fa

  • Python Pandas中DataFrame.drop_duplicates()删除重复值详解

    目录 语法 参数 结果展示 扩展:识别重复值 总结 语法 df.drop_duplicates(subset = None, keep = 'first', inplace = False, ignore_index = False) 参数 1.subset:指定的标签或标签序列,仅删除这些列重复值,默认情况为所有列 2.keep:确定要保留的重复值,有以下可选项: first:保留第一次出现的重复值,默认 last:保留最后一次出现的重复值 False:删除所有重复值 3.inplace:是否

  • python pandas中DataFrame类型数据操作函数的方法

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几

  • pandas中DataFrame数据合并连接(merge、join、concat)

    pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰山一角.谈到pandas数据的行更新.表合并等操作,一般用到的方法有concat.join.merge.但这三种方法对于很多新手来说,都不太好分清使用的场合与用途.今天就pandas官网中关于数据合并和重述的章节做个使用方法的总结. 文中代码块主要有pandas官网教程提供. 1 concat co

  • pandas数据清洗(缺失值和重复值的处理)

    目录 前言 缺失值处理 缺失值的判断 缺失值统计 缺失值筛选 缺失值类型 插入缺失值 缺失值填充 插值填充 interpolate() 的具体参数 缺失值删除 缺失值删除 dropna 重复值处理 重复值查找 删除重复值 drop删除数据 数据替换replace 字符替换 缺失值替换 数字替换 数据裁剪df.clip() 前言 pandas对大数据有很多便捷的清洗用法,尤其针对缺失值和重复值.缺失值就不用说了,会影响计算,重复值有时候可能并未带来新的信息反而增加了计算量,所以有时候要进行处理.针

  • 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆.下面举例对这些切片方法进行说明. 数据介绍 先随机生成一组数据: In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_3 = [random.randrange(1,20) for x in xrange(1

  • Python Pandas中根据列的值选取多行数据

    Pandas中根据列的值选取多行数据 # 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某一类型的数值 用 isin df.loc[df['column_name'].isin(some_values)] # 多种条件的选取 用 & df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)] # 选取不等于某些值的

  • 在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例

    最近在工作中,遇到了数据合并.连接的问题,故整理如下,供需要者参考~ 一.concat:沿着一条轴,将多个对象堆叠到一起 concat方法相当于数据库中的全连接(union all),它不仅可以指定连接的方式(outer join或inner join)还可以指定按照某个轴进行连接.与数据库不同的是,它不会去重,但是可以使用drop_duplicates方法达到去重的效果. concat(objs, axis=0, join='outer', join_axes=None, ignore_ind

  • Pandas中DataFrame交换列顺序的方法实现

    一.获取DataFrame列标签 import pandas as pd file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_power_after_test_smooth.csv' dataset = pd.read_csv(file_path) cols = list(dataset) ['ps_state-stopped', 'ps_state-running', 'ps_state-blocked', 'ps_stat

  • Pandas中DataFrame常用操作指南

    目录 前言 1. 基本使用: 2. 数据select, del, update. 3.运算. 4. Group by 操作. 5. 导出到csv文件 总结 前言 Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作. 1. 基本使用: 创建DataFrame. DataFrame是一张二维的表,大家可以把它想象成一张Excel表单或者Sql表. Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384

随机推荐