好的,我有一个从 CSV 文件加载的 numpy 数组, 数组看起来像:
array([['0', '3', '22', ..., '7.25', '1', '0'],
['1', '1', '38', ..., '71.2833', '0', '0'],
['1', '3', '26', ..., '7.925', '1', '0'],
...,
['0', '3', '', ..., '23.45', '1', '0'],
['1', '1', '26', ..., '30', '0', '0'],
['0', '3', '32', ..., '7.75', '0', '0']],
dtype='|S8')
我想将数组元素转换为 float ,但出现此错误
data2 = np.array(data).astype(np.float)
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: could not convert string to float:
有没有办法用 numpy 或 pandas 解决这个问题?
最佳答案
我认为您的数组中有一个空字符串(''
)。因此,将数组的 ''
更改为 0
。
假设您的数组是a
:
>>> a[a=='']='0'
>>> a2 = a.astype(np.float)
关于python - 从 CSV 导入 Numpy 并将列转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497287/