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

Python Pandas如何基于其他行的值为DataFrame新增索引行

实现代码

首先导入依赖并构造示例DataFrame(已有现成数据可跳过构造部分):

import pandas as pd

# 构造初始DataFrame,你有现成的df可以直接跳过这一步
data = {
    "ALL": [100, 250, 120],
    "COL1": [50, 32, 18],
    "COL2": [214, 89, 12]
}
df = pd.DataFrame(data, index=["ABC", "DEF", "GHI"])
df.index.name = "IDX" # 确认索引列名为IDX

接下来按要求计算并新增行:

# 按公式批量计算所有列的新行值
new_row = (df.loc["DEF"] - df.loc["GHI"]) / df.loc["DEF"]
# 保留两位小数和示例结果一致,不需要精度控制可以去掉round方法
new_row = new_row.round(2)
# 将新行追加到原DataFrame,设置索引名为new1
df.loc["new1"] = new_row

执行完成后打印df即可得到预期结果:

ALL  COL1   COL2
IDX                     
ABC   100.00 50.00 214.00
DEF   250.00 32.00  89.00
GHI   120.00 18.00  12.00
new1    0.52  0.44   0.87

注意事项

如果出现索引找不到的报错,可先执行print(df.index)确认索引值是否为['ABC','DEF','GHI']的准确字符串格式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:27:01