【发布时间】:2013-08-13 09:31:39
【问题描述】:
一个简单的熊猫问题:
是否有drop_duplicates() 功能可以删除复制中涉及的每一行?
一个等价的问题如下:pandas 对数据帧有什么不同吗?
例如:
In [5]: df1 = pd.DataFrame({'col1':[1,2,3], 'col2':[2,3,4]})
In [6]: df2 = pd.DataFrame({'col1':[4,2,5], 'col2':[6,3,5]})
In [7]: df1
Out[7]:
col1 col2
0 1 2
1 2 3
2 3 4
In [8]: df2
Out[8]:
col1 col2
0 4 6
1 2 3
2 5 5
所以也许像df2.set_diff(df1) 这样的东西会产生这个:
col1 col2
0 4 6
2 5 5
但是,我不想依赖索引,因为就我而言,我必须处理具有不同索引的数据帧。
顺便说一句,我最初考虑的是对当前drop_duplicates() 方法的扩展,但现在我意识到使用集合论属性的第二种方法通常会更有用。不过,这两种方法都解决了我当前的问题。
谢谢!
【问题讨论】:
-
是的,有 drop_duplicates 方法...检查文档pandas.pydata.org。根据数据的结构方式,您也应该能够进行集合操作。可以肯定地用另一个框架中的项目替换框架中的项目。不确定是否可以检查所有列的唯一性
-
你能指出如何执行集合操作吗?
-
您能提供一个示例数据并告诉我们您打算完成什么吗?
-
当然。我会在几分钟内更新。
-
如果没有重复......哪个数据框有准确的。即您只是想找到独特的项目还是需要将它们与一些额外的逻辑合并?