我正在运行python 3.5并试图将大字符串转换为numpy数组。使用ast.literal_eval评估复杂表达式()
我用answer from stack overflow把这段代码放在一起。
import ast
import numpy as np
str = '["8.4","4.3E-7"]'
arr = ast.literal_eval(str)
x = np.array(arr, dtype='|S4')
y = x.astype(np.float32)
我收到folllowing值误差
ValueError: could not convert string to float: '4.3E'
str是一个字符串的话,大部分的数字不具有E-一些模式,但偶尔也会出现这种情况,我的代码挂断。
有没有办法在这种情况下将字符串转换为numpy数组?
'| S4'是最大长度为4个字符。你没有给足够的空间。 – user2357112
尽管如此,您根本不需要指定dtype。它会被推断给你。 (我会去编辑其他答案来澄清事情。) – user2357112
@ user2357112如果你只是发布一个答案,我可以正式接受接受。感谢您的答案,但是...结果有很多要从这个社区学习:) – akhileshsk