我正在使用 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 的变量资源管理器中查看它时,它看起来像这样:
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
附注 抱歉,如果格式不好,我仍然没有找到如何在此网站上发布良好的帖子。
最佳答案
这就是( 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
关于python - 格式化 Pandas .groupby.size() 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670904/