dataframe列中的值不会从字符串更改为float

时间:2018-10-01 15:36:10

标签: python pandas

因此,我在数据框中有一个用浮点值和偶数字符串值填充的列。我尝试按照堆栈上的一些答案进行操作,但是它不起作用。

print(data['Snowfall'][48609]) #prints #VALUE!
print(type(data['Snowfall'][48609])) #prints <class 'str'>
data['Snowfall'].str.contains("#VALUE!").replace(float(0.0),inplace=True)
print(type(data['Snowfall'][48609])) # prints <class 'str'>

我在做什么错

1 个答案:

答案 0 :(得分:7)

使用pandas.to_numeric将'coerce'传递给errors参数。 然后Series.fillna将强制值更改为0

df['Snowfall'] = pd.to_numeric(df['Snowfall'], errors='coerce').fillna(0)