我有一个带有高度冗余数据的数据框,因此我想将这个数据帧复制到一个新的数据帧,设置索引列的最大冗余。
在以下示例中," 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')
答案 0 :(得分:3)
您可以将groupby
与head(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方法来实现您想要的内容。