在pandas中选择具有重复观察的行

时间:2014-04-07 05:52:32

标签: python pandas

我正在处理一个大型数据集,我的索引中有一些重复项。我想(也许在视觉上)检查这些重复的行是什么样的,然后决定丢弃哪一行。有没有办法可以选择具有重复索引(或任何列中的重复项)的数据帧切片?

感谢任何帮助。

2 个答案:

答案 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 将返回该列中具有重复值的所有行。