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

如何对两个Pandas DataFrame指定列做差并生成新DataFrame

解决方法:正确访问整数列名并计算差值

你遇到的问题是因为Pandas中整数类型的列名无法通过.运算符访问,.后面需要跟合法的Python标识符(不能以数字开头),所以df1.3这种写法会报错。

你可以用方括号[]来访问整数列名,直接对两列做差就能得到想要的结果:

# 直接计算差值,得到一个Series
df3 = df1[3] - df2[3]

# 如果需要将结果转为单列DataFrame(和你示例的结构一致)
df3 = (df1[3] - df2[3]).to_frame()

补充说明:

因为你提到df1和df2的列0、1、2内容始终一致,说明两个DataFrame的行是一一对应的,Pandas会自动按索引对齐行进行计算,不用担心匹配错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:45:16