我正在尝试将64位整数的numpy数组转换为标准python整数(即类型为int
的变量)的数组。
在我幼稚的想法中,我相信np.int64
代表64位整数,而int
代表标准python整数,但这似乎并不正确:
import numpy as np
a = np.arange(2)
print(a.dtype) # dtype('int64')
print(type(a[0])) # <class 'numpy.int64'>
b = a.astype(int)
print(b.dtype) # dtype('int64')
print(type(b[0])) # <class 'numpy.int64'>
c = a.astype('int')
print(c.dtype) # dtype('int64')
print(type(c[0])) # <class 'numpy.int64'>
当然有用的一件事是:
d = a.tolist()
print(type(d[0])) # int
是否可能有一个数字类型为int
的numpy数组,或者numpy是否要求变量具有与其等效的np.int
数据类型?
答案 0 :(得分:0)
这只是评论的转贴,以结束问题。
内置
int
不是有效的dtype。它将转换为np.int_
是什么,可能是np.int64
或np.int32
,具体取决于 在您的平台上。可以,但是必须使用dtype = object, 本质上消除了numpy的优势,从而为您提供了Python列表。
通过 juanpa.arrivillaga