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

3

以下是相关代码:

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。在ndarray中分配dtype=np.float64并不能解决这个错误。这段代码有什么问题?

Numpy 1.14, Python 3.6.1


你要找的构造函数是 array,而不是 ndarray。直接调用 ndarray 是不寻常的。 - user2357112
1个回答

4
< p > np.ndarray 的第一个参数是 shape,通常是整数元组。

不应使用底层构造器 np.ndarray。正确的接口是 np.array,并直接从字符串中获取而不是先使用列表推导式:

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

谢谢 - 新手错误! - Eric Taw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接