为了账号安全,请及时绑定邮箱和手机立即绑定

从CSV导入Numpy,并将列转换为float

从CSV导入Numpy,并将列转换为float

繁星点点滴滴 2021-03-16 20:17:23
好的,所以我有一个从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')我想将数组元素转换为浮点型,但出现此错误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解决此问题?
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

问题在于特定的值,而不是Numpy或您的数据。我认为是导致问题的空字符串,无法将其表示''为浮点数。


查看完整回答
反对 回复 2021-03-23
?
catspeake

TA贡献1111条经验 获得超0个赞

我认为''您的数组中有一个空的string()。因此,将数组更改''为0。


假设您的数组是a:


>>> a[a=='']='0'

>>> a2 = a.astype(np.float)


查看完整回答
反对 回复 2021-03-23
  • 2 回答
  • 0 关注
  • 539 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信