Pandas列转float后列相减报TypeError错误排查求助
问题排查与解决
核心问题是语法错误,和列的数据类型无关:
- 你写的
df["HTB_Price" - "McMaster_Price"]里,"HTB_Price"和"McMaster_Price"是两个字符串,Python会直接尝试对字符串做减法运算——这本身就不被支持,所以触发TypeError。 - 正确的逻辑是:先分别取出两列的数值(已经是float64类型),再对这两列的数值做元素级减法。
正确写法示例
# 确认列类型(你已完成此步骤) print(df.dtypes) # 正确计算价格差 Price_Diff = df["HTB_Price"] - df["McMaster_Price"] # 若要将结果存入DataFrame新列 df["Price_Diff"] = df["HTB_Price"] - df["McMaster_Price"]
这样就能得到两列float类型数值相减的结果。
内容的提问来源于stack exchange,提问作者Christian Brune
相关产品推荐
相关产品推荐

