【发布时间】:2021-11-28 03:58:55
【问题描述】:
我对整数类型之间的区别感到困惑。
例如,这是一个numpy.array,dtype 为np.int。
>>> arr_ = np.array([1,2], dtype = np.int)
通过下面的代码,它代表trueint与np.int相同:
>>> int is np.int
Out[1]: True
但是,当我选择使用 dtype 为 np.int 创建的数组的第一个值时,下面的代码输出 false。
>>> type(arr_[0]) is int
Out[2]: False
为什么代码输出的是false,而不是true?
dtype = np.int 似乎没有应用于arr_。
为什么np.int 不作为数组的 dtype 应用?
我查看了this,但找不到我需要的东西。
【问题讨论】:
-
你能添加
type(arr_[0])返回的值吗? -
@Mahrkeenerh 它返回
numpy.int32,即使我设置了一个dtypenp.int。 -
我不确定我是否理解您的要求。您链接的问题描述了
int(或np.int,这是同一类型的另一个名称)在用作数组的dtype时如何转换为np.int_。这解释了你所看到的行为。您还需要了解什么? -
作为
dtype传递的东西通常不会是从数组中检索到的元素的类型对象。毕竟dtype='int32'可以,字符串'int32'不能是type(anything)。 -
显示
type(arr_[0])
标签: python numpy integer dtype