【发布时间】:2021-04-09 15:39:32
【问题描述】:
假设我有这个名为 df 的 MultiIndex 数据框:
| |Value
Year |Month|
1992 | 1 | 3
| 2 | 5
| 3 | 8
-----------------
1993 | 1 | 2
| 2 | 7
----------------
1994 | 1 | 20
| 2 | 50
| 3 | 10
| 4 | 5
如何为每一年选择所有年份和最大月份?
我想要以下结果:
| |Value
Year |Month|
1992 | 3 | 8
-----------------
1993 | 2 | 7
----------------
1994 | 4 | 5
我试过了
df.loc[(slice(None), [3, 2, 4]),:]
这可行,但它是硬编码的。如何将其设置为始终带来最大月份级别而不是手动说出来?
我的索引是排序的,所以它需要每年的最后一个月。
我也尝试过使用.iloc,但它不适用于多索引
>>> df.iloc[(slice(None), -1),:]
...
IndexingError: Too many indexers
...
【问题讨论】:
标签: python pandas multi-index