我在Excel中有2列。我简单地将它们与大熊猫分开会导致错误。我在做什么错了?
import pandas as pd
import numpy as np
df = pd.read_excel('day.xlsx', sheet_name = 'day1')
df=pd.DataFrame(df)
df=df.rename(columns={0: 'Time', 'null': 'Temp', 'null.1':'Pressure'})
df['ratio']=df['Temp']/df['Pressure']
我试图通过将“温度”除以“压力”来创建第三列“比率”。
错误消息:
TypeError:/不支持的操作数类型:“ float”和“ str”
答案 0 :(得分:0)
错误消息是明确的:
TypeError:/不支持的操作数类型:“ float”和“ str”
这意味着在df['Temp']/df['Pressure']
中某些(或全部)值是字符串。您必须首先将它们转换为浮点数,如果所有值都代表可接受的浮点值,通常必须使用df['Pressure']
;如果您想超级安全,则通常用astype(float)
转换:任何不可转换的字符串都将更改为to_numeric(coerce=True)
:
NaN
如果您仍然遇到错误df['ratio']=df['Temp']/pd.to_numeric(df['Pressure'], coerce=True)
,则必须在unsupported operand type(s) for /: 'str' and 'float'
上进行相同的转换。