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

如何向MultiIndex第0级下方的单元格写入内容

解决方案

要实现这个需求,你可以直接修改MultiIndex的对应层级元素,步骤如下:

  1. 获取当前DataFrame的索引并转为可修改的列表格式
  2. 修改目标位置的第一级索引值
  3. 用修改后的列表重新构建MultiIndex并赋值回DataFrame

具体代码实现:

import numpy as np
import pandas as pd

# 原代码构建带MultiIndex的DataFrame
nums = np.arange(5)
key = ['kfc'] * 5
mi = pd.MultiIndex.from_arrays([key, nums])
df = pd.DataFrame({'rent': np.arange(10,60,10)}, index=mi)

# 修改指定位置的第一级索引
# 定位到第二级为1的行,把第一级索引改为'NYC'
new_index = df.index.to_list()
new_index[1] = ('NYC', 1)
df.index = pd.MultiIndex.from_tuples(new_index)

print(df)

运行后输出的结果就是你想要的样式:

rent
kfc    0    10
NYC    1    20
       2    30
       3    40
       4    50

补充说明

  • 如果需要批量修改多个行的第一级索引,只需循环或批量修改new_index列表中的对应元组即可
  • Pandas的MultiIndex本质是元组的集合,通过修改元组再重新构建索引是最直接的操作方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:40:34