基本上,我使用python x32位从文件加载包含几个numpy数组的列表对象(之前使用python x64保存在pickle中)。
我可以正确加载它们并检查内容但我不能使用它们。
TypeError: Cannot cast array data from dtype('int64') to dtype('int32')
如何将数组元素类型从列表中转换为int32,以便我可以将它们与python x32一起使用。
当我尝试执行以下部分时出现错误:
a=np.bincount(np.hstack(data['Y']))
查看data['Y']
内的内容
答案 0 :(得分:15)
正如其他人所说,32位版本的numpy仍然支持64位dtypes。但是如果你真的需要转换为int32,你可以使用astype函数:
>>> import numpy as np
>>> x = np.array([1,2,3], dtype=np.int64)
>>> x
array([1, 2, 3])
>>> x.dtype
dtype('int64')
>>> y = x.astype(np.int32)
>>> y
array([1, 2, 3], dtype=int32)