我正在使用pandas,我的数据框看起来像这样。
df = pd.DataFrame({'AAA' : [4,5,6,7], 'BBB' : [100,100,30,40],'CCC' : [100,100,30,-50]})
我正在使用.groupby()和.size()来查找“BBB'”中的重复行。和CCC'列并将结果转换为如下数据框:
duplicates=df.groupby(['BBB','CCC']).size().to_frame('num')
我发现这个新数据帧重复的格式难以使用,即使它具有我需要的所有数据。当我在Spyder的Variable explorer中看到它时,它看起来像这样:
Index num
(30,30) 1
(40,-50) 1
(100,100) 2
因此索引包含' BBB'的值。和CCC'重复的次数和num包含重复的次数。我不知道如何从索引中访问数据并将其解析为各个列,因此索引确实是最难处理的事情。如果输出看起来像这样
,我真的很喜欢它Index 'BBB' 'CCC' num
0 30 30 1
1 40 -50 1
2 100 100 2
P.S。 很抱歉,如果格式错误,我仍然无法找到如何在此网站上发布的信息。
答案 0 :(得分:2)
是(reset_index())你想要什么?
In [24]: df.groupby(['BBB','CCC']).size().to_frame('num').reset_index()
Out[24]:
BBB CCC num
0 30 30 1
1 40 -50 1
2 100 100 2