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

如何向Multi-Index DataFrame指定层级下追加列表数据

向Multi-Index DataFrame指定层级追加行的实现方法

方法一:创建新DataFrame合并(推荐)

适合批量添加多行,逻辑清晰易维护:

  1. 准备要追加的数据和对应索引
import pandas as pd
import numpy as np

x = [16,17,18,19]
# 生成对应"s"层级的新二级索引(6-9)
new_index = pd.MultiIndex.from_tuples([("s", str(i)) for i in range(6, 10)])
# 创建包含新数据的DataFrame,I2列设为NaN
new_rows = pd.DataFrame({"I1": x, "I2": np.nan}, index=new_index)
  1. 合并并排序索引
df_updated = pd.concat([df, new_rows]).sort_index()

sort_index()会自动将"s"层级的所有行集中排列,"c"层级行保持在后方,与目标结果一致。

方法二:通过.loc直接赋值添加

适合少量行的快速添加:

x = [16,17,18,19]
# 从6开始遍历元素,逐个添加到"s"层级下
for idx, val in enumerate(x, start=6):
    df.loc[("s", str(idx)), "I1"] = val

# 重新排序索引,让新行排在"s"层级原行之后
df.sort_index(inplace=True)

未赋值的I2列会自动填充为NaN,满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:45:07