以下是相关代码:
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
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])
array
,而不是ndarray
。直接调用ndarray
是不寻常的。 - user2357112