当前位置:   article > 正文

Pandas数据去重:drop_duplicates函数详解_dropduplicates函数

dropduplicates函数

DataFrame.drop_duplicates(subset=Nonekeep='first'inplace=False)


参数解释:

  • subset: 列名,默认所有的列
  • keep: 是否保留{‘first’, ‘last’, False}keep= 'first' 表示去重时每组重复数据保留第一条数据,其余数据丢弃; keep='last' 表示去重时每组重复数据保留最后一条数据,其余数据丢弃;keep=False 表示去重时每组重复数据全部丢弃,不保留
  • inplace: 是否替换{False, True}inplace=False表示去重之后不覆盖原表格数据,inplace=True表示去重之后原表格数据被覆盖

一、仅去除重复项

下面给出部分代码示例,可自行粘贴运行对比,推荐spyder / jupyter notebook, 方便查看数据结构。

  1. # A列中1重复两次(index=0/2)
  2. In [6]: data
  3. Out[6]:
  4. A B C
  5. 0 1 1 1
  6. 1 2 2 2
  7. 2 1 3 3
  8. 3 3 4 4
  9. # A列去重,两条重复数据保留第一条(index=0),第二条数据丢弃(index=2)。
  10. In [7]: data.drop_duplicates(subset='A',keep='first',inplace=False)
  11. Out[7]:
  12. A B C
  13. 0 1 1 1
  14. 1 2 2 2
  15. 3 3 4 4
  16. # A列去重,两条重复数据保留最后一条(index=2),第一条数据丢弃(index=0)。
  17. In [7]: data.drop_duplicates(subset='A',keep='first',inplace=False)
  18. Out[7]:
  19. A B C
  20. 1 2 2 2
  21. 2 1 3 3
  22. 3 3 4 4

二、提取重复项

提取重复项?两次去除重复项即可,思路如下。

  1. #第一步: 去重,将重复数据丢弃
  2. In [10]: data1=data.drop_duplicates(subset='A',keep=False,inplace=False)
  3. #第二步:去重,保留一组重复数据
  4. In [11]: data2=data.drop_duplicates(subset='A',keep='first',inplace=False)
  5. #第三步:将data1与data2合并后去重且丢弃重复数据
  6. #(data1与data2合并后, 此时原表里面非重复数据变成了两份,去重丢弃这些重复数据之后,剩下的数据即为所求)
  7. In [12]:data1.append(data2).drop_duplicates(subset='A',keep=False,inplace=False)
  8. Out[12]:
  9. A B C
  10. 0 1 1 1

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/759885
推荐阅读
  

闽ICP备14008679号