Python ';numpy.float64';对象不能解释为整数

Python ';numpy.float64';对象不能解释为整数,python,numpy,Python,Numpy,以下是相关代码: arr = ['-0.944', '0.472', '0.472'] charges = [np.float64(i) for i in arr] # [-0.944, 0.472, 0.472] charges = np.ndarray(charges) 该错误在最后一步抛出,在该步骤中,列表被强制转换为数据数组。在ndarray中分配dtype=np.float64不会更改错误。这段代码有什么问题 Numpy 1.14, Python3.6.1np.ndarray的第一个

以下是相关代码:

arr = ['-0.944', '0.472', '0.472']
charges = [np.float64(i) for i in arr] # [-0.944, 0.472, 0.472]
charges = np.ndarray(charges)
该错误在最后一步抛出,在该步骤中,列表被强制转换为数据数组。在ndarray中分配
dtype=np.float64
不会更改错误。这段代码有什么问题

Numpy 1.14,
Python3.6.1

np.ndarray的第一个参数是
形状,它通常是整数的元组

您不应该使用低级构造函数
np.ndarray
。正确的接口是
np.array
,直接从字符串中获取,无需首先理解列表:

>>> arr = ['-0.944', '0.472', '0.472']
>>> np.array(arr, dtype=np.float64)
array([-0.944,  0.472,  0.472])

您要查找的构造函数是
array
,而不是
ndarray
。直接调用
ndarray
是不寻常的。谢谢——新手犯了错误!