我正在处理一个大型数据集,我的索引中有一些重复项。我想(也许在视觉上)检查这些重复的行是什么样的,然后决定丢弃哪一行。有没有办法可以选择具有重复索引(或任何列中的重复项)的数据帧切片?
感谢任何帮助。
答案 0 :(得分:3)
使用duplicated
的{{1}}方法:
DataFrame
请参阅http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.duplicated.html
修改强>
您可以使用:
df.duplicated(cols=[...])
或者,您可以使用df[df.duplicated(cols=[...]) | df.duplicated(cols=[...], take_last=True)]
和groupby
:
filter
或df.groupby([...]).filter(lambda df:df.shape[0] > 1)
:
apply
答案 1 :(得分:1)
您可以使用pandas.duplicated
,然后使用boolean
对其进行切片。有关任何方法或高级功能的更多信息,我建议您始终检查其文档字符串。
嗯,这可以解决你的问题:
df[df.duplicated('Column Name', keep=False) == True]
下面, keep = False 将返回该列中具有重复值的所有行。