ValueError:无法将字符串转换为浮点数:Numpy数组
问题描述:
这是我的代码片段,其中data2是数据框。 为什么不将字符串对象转换为浮动? 相同的代码可以将字符串转换为int64。ValueError:无法将字符串转换为浮点数:Numpy数组
dt = np.dtype(object) # Python object
df4 = data2['What was your +2 percentage?']
x=np.array(df4,dtype=dt)
y = x.astype(float)
答
假设df
是您的数据帧时,您可以使用pd.to_numeric
您的数据对象转换成浮动:
In [86]: pd.to_numeric(df['data'], errors='coerce')
Out[86]:
0 1.0
1 2.0
2 -3.0
3 5.5
Name: data, dtype: float64
In [91]: pd.to_numeric(df['data'], errors='coerce').tolist()
Out[91]: [1.0, 2.0, -3.0, 5.5]
你得到的是浮动的列表,你可以将其转换为np.array()
。
你想做什么?你可以发布'data2'包含的内容吗? –
data1 = pd.read_csv('/ home/ashutosh/Downloads/Data.csv')和data2 = pd.DataFrame(data1) –
要查看数据并不容易判断问题所在。 –