Pea*_*ece 4 python integer numpy dtype
我对整数类型之间的差异感到困惑。
例如,这是一个numpy.arraydtype 为 的np.int。
>>> arr_ = np.array([1,2], dtype = np.int)
Run Code Online (Sandbox Code Playgroud)
通过下面的代码,它代表true,int与np.int:
>>> int is np.int
Out[1]: True
Run Code Online (Sandbox Code Playgroud)
但是,当我选择使用 dtype of 创建的数组的第一个值时np.int,以下代码输出false。
>>> type(arr_[0]) is int
Out[2]: False
Run Code Online (Sandbox Code Playgroud)
为什么代码输出false,而不是true?
看来该dtype = np.int剂量没有应用于arr_。
为什么np.int不作为数组上的数据类型应用?
我已经研究过这个,但无法得到我需要的东西。
在 Python 中,类型int、np.int32和np.int64是 3 种不同的类型:
int是原生 Python 多精度整数类型,能够表示任何整数值(唯一的限制是可用内存)。例如2**128是一个int有效值np.int32在int32_tC 整数类型中,最多可以使用 32 位表示值,即 -2147483648 和 2147483647 之间的值np.int64是int64_tC 整数类型,最多可以使用 64 位表示值,即 -9223372036854775808 和 9223372036854775807 之间的值Andnp.int是本机 Python 类型的(已弃用的别名)int,原因int is np.int是正确的。但是 numpy 整数数组即使dtype=int接收实际类型的np.int32or ,np.int64因为它们必须由 C 代码处理,所以它们必须强制为固定大小的整数类型。如果您确实需要存储真实int值,则必须使用dtype=object但操作将不再可矢量化。
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |