【发布时间】:2022-01-12 04:15:30
【问题描述】:
我的数据框组由两个索引列(cat1 和cat2)定义。对于第三个非索引变量var,我想为cat1 的每个值找到var 的最大值的索引cat2。
当我使用idxmax() 时,我得到cat1 和cat2 的整体索引值,对应于var 的最大值(B,dog)。我想要cat1 的每个级别的这个值。
df = pd.DataFrame({
'cat1': ['A'] * 4 + ['B'] * 4 + ['C'] * 4,
'cat2': ['cat', 'dog', 'mouse', 'bear'] * 3,
'var': [23, 33, 45, 66, 77, 88, 44, 55, 33, 22, 11, 44],
}).set_index(['cat1', 'cat2'])
var
cat1 cat2
A cat 23
dog 33
mouse 45
bear 66
B cat 77
dog 88
mouse 44
bear 55
C cat 33
dog 22
mouse 11
bear 44
这是产生的结果:
期望的结果:
我不在乎格式。
【问题讨论】:
-
请提供可重现的数据,而不是图片。谢谢
标签: python pandas dataframe multi-index