如何限制Pandas系列中重复值的数量

时间:2015-07-27 23:30:56

标签: python pandas

我有一个带有高度冗余数据的数据框,因此我想将这个数据帧复制到一个新的数据帧,设置索引列的最大冗余。

在以下示例中," pop"是我的索引列;在我的新数据帧中,我想设置最大冗余2:

data = {"state":["Ohio","Ohio","Ohio","Nevada","Nevada"],
'year' : [2000,2001,2002,2001,2002],'pop' : ["pop1", "pop1","pop1","pop2","pop2"]}

frame = pd.DataFrame(data)
frame = frame.set_index('pop')

2 个答案:

答案 0 :(得分:3)

您可以将groupbyhead(n)一起使用,以返回每个组的第一行n行:

frame.groupby('pop').head(2)
Out[32]: 
    pop   state  year
0  pop1    Ohio  2000
1  pop1    Ohio  2001
3  pop2  Nevada  2001
4  pop2  Nevada  2002

答案 1 :(得分:0)

以下是Wes McKinney如何实施filtering duplicates。 dataframe对象当前支持drop_duplicates方法,但它将采用groupby方法来实现您想要的内容。