向DataFrame执行加法并存储时失败,请求排查原因
问题分析与解决
核心错误原因
你遇到的'type' object does not support item assignment报错,根源是没有创建DataFrame实例:
TT_Base = pd.DataFrame
这行代码只是把pd.DataFrame这个类本身赋值给了变量TT_Base,而类属于type对象,不支持直接进行列赋值操作。只有DataFrame类的实例(即实际的DataFrame对象)才能执行列赋值。
修正方案
- 先创建空的DataFrame实例(必须加括号)
- 修正原代码中多余的右括号
修正后的代码:
# 创建空DataFrame实例 TT_Base = pd.DataFrame() # 执行列赋值,注意去掉末尾多余的右括号 TT_Base["TT"] = 0.05 + A2C_TT_x2['DURATION_H'] + 0.25 + df_C2H_TT_y1['DURATION_H'] + 0.5833333333333334
为什么乘法代码能正常运行
之前的乘法代码df_C2H_TT_y1['DURATION_H'] = df_C2H_TT_y1['DURATION_H'] * 0.95可以正常执行,是因为df_C2H_TT_y1本身已经是一个创建好的DataFrame实例,因此支持对其列进行赋值操作。
内容的提问来源于stack exchange,提问作者user13373167
相关产品推荐
相关产品推荐

