有条件地删除重复的pandas python
Posted
技术标签:
【中文标题】有条件地删除重复的pandas python【英文标题】:Conditional removing of duplicates pandas python 【发布时间】:2015-07-12 15:44:57 【问题描述】:有没有办法在大约 10 列和 400,000 行的 pandas 数据框中有条件地删除重复项(特别是使用 drop_duplicates)?也就是说,我想让所有有 2 列的行都满足一个条件:如果 date (column) 和 store (column) # 的组合是唯一的,则保留行,否则,丢弃。
【问题讨论】:
你试过什么?有最终方便的if
语句,但是是的,这可能会有点混乱。您是否检查过文档中是否有此方法?
发布示例数据和预期输出总是有帮助的。
是的,我正在研究如何发布一些示例数据。
如果您需要代码格式化,只需缩进四个空格,或者只是复制粘贴它,我们中的一位将为您修复它(特别是如果它有大量数据)。 :)
【参考方案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
【讨论】:
谢谢。我认为您能够消除我对组合的一些困惑。以上是关于有条件地删除重复的pandas python的主要内容,如果未能解决你的问题,请参考以下文章
根据条件 pandas 删除 DataFrame 中的重复行
从 csv 和训练中删除重复数据(Keras、python、pandas)