ValueError:无法将字符串转换为float:Numpy数组

时间:2017-07-08 09:17:42

标签: python arrays pandas numpy

这是我的代码片段,其中data2是一个数据帧。 为什么字符串对象不能转换为float? 相同的代码适用于将字符串转换为int64。

dt = np.dtype(object)  # Python object
df4 = data2['What was your +2 percentage?']
x=np.array(df4,dtype=dt)
y = x.astype(float)

1 个答案:

答案 0 :(得分:0)

假设to_date(to_char(BASEDATE, 'YYYY/MM/DD') || ' ' ||TO_CHAR(sysdate,'HH24:MI:SS.FF'), 'YYYY/MM/DD HH24:MI:SS.FF') 是您的数据框,您可以使用pd.to_numeric将您的数据强制转换为浮点数:

df

您得到的是浮动列表,然后您可以将其转换为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]