首页 > 解决方案 > numpy.dtype 与 numpy.ndarray.dtype

问题描述

我有一个简单的问题np.dtype,在下面的代码片段中演示:

In [1]: import numpy as np                                                                                                                                                                                         

In [2]: var = np.arange(5, dtype=np.int32)                                                                                                                                                                         

In [3]: print(var)                                                                                                                                                                                                 
[0 1 2 3 4]

In [4]: print(var.dtype)                                                                                                                                                                                           
int32

In [5]: print(np.dtype(var))                                                                                                                                                                                       
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-03f3349b4160> in <module>
----> 1 print(np.dtype(var))

TypeError: data type not understood

为什么我得到两个不同的结果?

标签: pythonnumpynumpy-ndarray

解决方案


numpy.dtype()是用于创建数据类型对象的构造函数,而 numpy 数组的类型var可以通过var.dtype

您可以在numpy 手册或查看文档字符串中找到更多信息:

numpy.dtype(self, /, *args, **kwargs)

文档字符串:dtype
(obj, align=False, copy=False)

创建一个数据类型对象。

numpy 数组是同质的,并且包含由 dtype 对象描述的元素。dtype 对象可以由基本数字类型的不同组合构成。[...]


推荐阅读