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

如何提取pandas MultiIndex层级为Series并保留原MultiIndex

解决方案

创建 Series

直接利用 MultiIndex 的 get_level_values 方法提取 second 层级的值作为数据,同时将原 MultiIndex 设为 Series 的索引即可:

import pandas as pd

multiindex = pd.MultiIndex.from_product([['a', 'b'], range(3)], names=['first', 'second'])
# 生成目标 Series
result_series = pd.Series(
    data=multiindex.get_level_values('second'),
    index=multiindex
)

输出结果:

first  second
a      0         0
       1         1
       2         2
b      0         0
       1         1
       2         2
Name: second, dtype: int64

创建 DataFrame

如果需要 DataFrame 格式,有两种简单方式:

# 方式1:从已生成的 Series 转换
result_df = result_series.to_frame(name='second')

# 方式2:直接构造 DataFrame
result_df = pd.DataFrame(
    data={'second': multiindex.get_level_values('second')},
    index=multiindex
)

输出结果:

second
first second        
a     0            0
      1            1
      2            2
b     0            0
      1            1
      2            2

以上方法均不会修改原有 DataFrame,而是基于你提供的 MultiIndex 生成新对象,完全适配后续计算需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:33:09