You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以最简语法索引pandas.MultiIndex并保留层级名称?

pandas MultiIndex索引保留层级名称的最简写法

当操作pandas的MultiIndex对象时,用方括号单值索引(比如index[0])会返回丢失层级名称的元组。要保留层级名称,最简的语法是用列表形式索引,也就是index[[0]],直接返回包含指定行的MultiIndex子集,自动保留原层级名称,无需手动重建。

修改后的代码示例:

import pandas as pd

index = pd.MultiIndex.from_product([[2013, 2014], [1, 2]],
                                   names=['year', 'visit'])
print(index)
print(index[0])  # 返回丢失层级名的元组
print(index[[0]])  # 最简写法,保留层级名称

输出结果:

MultiIndex([(2013, 1),
            (2013, 2),
            (2014, 1),
            (2014, 2)],
           names=['year', 'visit'])
(2013, 1)
MultiIndex([(2013, 1)],
           names=['year', 'visit'])

这个方法的原理是:pandas对MultiIndex使用列表式索引时,会返回原索引的子集,完整保留层级结构和名称,比手动调用pd.MultiIndex.from_tuples重建要简洁高效得多。

内容的提问来源于stack exchange,提问作者LogZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:40:31