我在pandas数据框中的数据如下:
df = pd.DataFrame({'a':[1,2,3,3,4,4,4], 'b':[2,3,4,4,5,5,5]})
所以数据框看起来像这样:
a b
0 1 2
1 2 3
2 3 4
3 3 4
4 4 5
5 4 5
6 4 5
这里的列’a’,’b’组合是:12(1),23(1),34(2),45(3).
我试图选择4和5并打印出来,因为他们的组合
大多数事件(3次).
我的代码是:
counts = df.groupby(['a','b']).size().sort_values(ascending=False)
print(counts)
输出:
a b
4 5 3
3 4 2
2 3 1
1 2 1
dtype: int64
但这只给我一个专栏[3,2,1,1].这是数字组合计数.
如何单独访问元素4和5以便打印出来?
提前致谢!
解决方法:
Pandas GroupBy对象由石斑鱼键索引.在多个键的情况下,这将意味着MultiIndex.您可以只提取结果的第一个索引,以给出表示最常见组合的元组:
counts.index[0] # (4, 5)