【问题标题】:Conditional removing of duplicates pandas python有条件地删除重复的pandas python
【发布时间】:2015-07-12 15:44:57
【问题描述】:

有没有办法在大约 10 列和 400,000 行的 pandas 数据框中有条件地删除重复项(特别是使用 drop_duplicates)?也就是说,我想让所有有 2 列的行都满足一个条件:如果 date (column) 和 store (column) # 的组合是唯一的,则保留行,否则,丢弃。

【问题讨论】:

  • 你试过什么?有最终方便的if 语句,但是是的,这可能会有点混乱。您是否检查过文档中是否有此方法?
  • 发布示例数据和预期输出总是有帮助的。
  • 是的,我正在研究如何发布一些示例数据。
  • 如果您需要代码格式化,只需缩进四个空格,或者只是复制粘贴它,我们中的一位将为您修复它(特别是如果它有大量数据)。 :)

标签: python python-2.7 numpy pandas dataframe


【解决方案1】:

使用drop_duplicates 返回删除重复行的数据框,可选择仅考虑某些列

让初始数据框像

In [34]: df
Out[34]:
  Col1 Col2  Col3
0    A    B    10
1    A    B    20
2    A    C    20
3    C    B    20
4    A    B    20

如果您想从某些列中获取唯一的组合'Col1', 'Col2'

In [35]: df.drop_duplicates(['Col1', 'Col2'])
Out[35]:
  Col1 Col2  Col3
0    A    B    10
2    A    C    20
3    C    B    20

如果你想对所有列进行唯一的组合

In [36]: df.drop_duplicates()
Out[36]:
  Col1 Col2  Col3
0    A    B    10
1    A    B    20
2    A    C    20
3    C    B    20

【讨论】:

  • 谢谢。我认为您能够消除我对组合的一些困惑。
猜你喜欢
  • 2017-12-22
  • 2019-02-02
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 2012-06-05
  • 2021-04-02
  • 1970-01-01
  • 2021-12-11
相关资源
最近更新 更多