为什么我不能在熊猫中添加2列

时间:2019-07-02 05:15:37

标签: python pandas

我在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”

1 个答案:

答案 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'上进行相同的转换。