【发布时间】:2021-02-10 23:41:28
【问题描述】:
我正在尝试使用平均和最高温度填充数据框中缺失的最高温度。我尝试了以下方法:
df.loc[df['Min Temperature']==np.NaN & df['Max Temperature']!=np.NaN & df['Average Temperature']!=np.NaN, df['Min Temperature']]=2*df['Average Temperature']-df['Max Temperature']
如果df['Min Temperature']==np.NaN AND Max 和Average 温度可用,则将值设置为:
2*df['Average Temperature']-(df['Max Temperature']
我得到以下错误:
TypeError: 不支持的操作数类型 -: 'float' 和 'str'
我尝试添加 float():
df.loc[df['Min Temperature']==np.NaN & df['Max Temperature']!=np.NaN & df['Average Temperature']!=np.NaN, df['Min Temperature']]=2*float(df['Average Temperature'])-float(df['Max Temperature'])
我收到以下错误:
无法将系列转换为
【问题讨论】:
-
将 str 值串联转换为浮点型,使用 as_type。 pandas.pydata.org/docs/reference/api/pandas.Series.astype.html
-
@RahulK
ValueError: could not convert string to float: ''