Python /:“str”和“float”的操作数类型不受支持

Python /:“str”和“float”的操作数类型不受支持,python,pandas,dataframe,Python,Pandas,Dataframe,如前所述,我有一个数据帧。 在做了简单的数学运算之后,我想添加一个新的列 首先,我尝试: pd.eval("HRSGHPSteam = df1.HRSGHPStmPressure/1000", target=df1) 这给了我TypeError:/:“object”和的操作数类型不受支持 然后我试着 df1['HRSGHPSteam'] = df1['HRSGHPStmPressure']/1000 这给了我TypeError:不支持/:'str'和'int'的操作数类

如前所述,我有一个数据帧。

在做了简单的数学运算之后,我想添加一个新的列

首先,我尝试:

pd.eval("HRSGHPSteam = df1.HRSGHPStmPressure/1000", target=df1)
这给了我TypeError:/:“object”和的操作数类型不受支持

然后我试着

df1['HRSGHPSteam'] = df1['HRSGHPStmPressure']/1000
这给了我TypeError:不支持/:'str'和'int'的操作数类型


有人能告诉我如何纠正这个问题吗?

是因为df1['HRSGHPSTMPression']是对象数据类型吗? 尝试:


然后除以1000。

几乎可以肯定,因为您在df1的列中读取的是'string'或'object'而不是float。编辑问题以向我们显示pd.read_csv或您在df1中读取的任何命令。请注意,并查看许多现有的示例。此外,df1.info将告诉您每个列的类型。您是正确的,我需要更改read_csv而不是read_excel,因为excel文件中的数据是字符串和数字。背景公式中单元格值6646的示例为{=PISampDat\\AAA0-I00101M\2000-000:H111.11PI222,'Block 2'!$B$3,'Block 2'!$B$4,'Block 2'!$B$5,0,}。因此,熊猫框架可能无法计算。感谢您的澄清,它是对象数据类型。我尝试了第一个df1['HRSGHPSTMPression']=df1['HRSGHPSTMPression']。astypeint但给了我VALUETERROR:以10为基数的int无效文字:“错误输入”尝试df1['HRSGHPSTMPression']=df1['HRSGHPSTMPression']。astypefloat。如果没有,可能是列中有文本数据是的,我注意到数据是字符串和数字的组合,这造成了错误。我需要打扫卫生。谢谢你的快速帮助。当然,如果你觉得我的答案有用,请考虑接受我的回答,谢谢。接受你的答案。谢谢你的帮助。
df1['HRSGHPStmPressure'] = df1['HRSGHPStmPressure'].astype(int)