Pandas 删除重复数据

发现重复数据

重复行是指已出现多次的行。

  1. Duration Date Pulse Maxpulse Calories
  2. 0 60 '2020/12/01' 110 130 409.1
  3. 1 60 '2020/12/02' 117 145 479.0
  4. 2 60 '2020/12/03' 103 135 340.0
  5. 3 45 '2020/12/04' 109 175 282.4
  6. 4 45 '2020/12/05' 117 148 406.0
  7. 5 60 '2020/12/06' 102 127 300.0
  8. 6 60 '2020/12/07' 110 136 374.0
  9. 7 450 '2020/12/08' 104 134 253.3
  10. 8 30 '2020/12/09' 109 133 195.1
  11. 9 60 '2020/12/10' 98 124 269.0
  12. 10 60 '2020/12/11' 103 147 329.3
  13. 11 60 '2020/12/12' 100 120 250.7
  14. 12 60 '2020/12/12' 100 120 250.7
  15. 13 60 '2020/12/13' 106 128 345.3
  16. 14 60 '2020/12/14' 104 132 379.3
  17. 15 60 '2020/12/15' 98 123 275.0
  18. 16 60 '2020/12/16' 98 120 215.2
  19. 17 60 '2020/12/17' 100 120 300.0
  20. 18 45 '2020/12/18' 90 112 NaN
  21. 19 60 '2020/12/19' 103 123 323.0
  22. 20 45 '2020/12/20' 97 125 243.0
  23. 21 60 '2020/12/21' 108 131 364.2
  24. 22 45 NaN 100 119 282.0
  25. 23 60 '2020/12/23' 130 101 300.0
  26. 24 45 '2020/12/24' 105 132 246.0
  27. 25 60 '2020/12/25' 102 126 334.5
  28. 26 60 20201226 100 120 250.0
  29. 27 60 '2020/12/27' 92 118 241.0
  30. 28 60 '2020/12/28' 103 132 NaN
  31. 29 60 '2020/12/29' 100 132 280.0
  32. 30 60 '2020/12/30' 102 129 380.3
  33. 31 60 '2020/12/31' 92 115 243.0

通过查看我们的测试数据集,我们可以假设第 11 行和第 12 行是重复的。

要发现重复项,我们可以使用 duplicated() 方法。

duplicated() 方法为每行返回一个布尔值:

实例

对于重复的每一行,返回 True ,否则返回 False

  1. import pandas as pd
  2. df = pd.read_csv('data.csv')
  3. print(df.duplicated())

删除重复

使用 drop_duplicates() 方法删除重复。

实例

删除所有重复:

  1. import pandas as pd
  2. df = pd.read_csv('data.csv')
  3. df.drop_duplicates(inplace = True)
  4. print(df.to_string())
  5. #请注意,第 12 行已从结果中删除
请记住:(inplace=True) 将确保该方法不会返回新的 DataFrame,但它将从原始 DataFrame 中删除所有重复项。

分类导航