首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy.dtype对numpy.ndarray.dtype

numpy.dtype对numpy.ndarray.dtype
EN

Stack Overflow用户
提问于 2020-04-30 17:10:39
回答 2查看 198关注 0票数 1

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

代码语言:javascript
复制
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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-30 17:25:36

正如注释中所提到的,numpy.dtype不会返回数组的数据类型。它只创建dtype对象。另一方面,ndarray.dtype返回和数组数据类型。为了更好地理解这一点,下面是一个示例代码:

代码语言:javascript
复制
a = np.dtype(np.int16)
b = np.array([1., 2., 3.])
c = np.array([1., 2., 3.], a)

注意在创建dtype对象a时如何将其传递给数组c

产出:

代码语言:javascript
复制
a: int16
b.dtype: float64
c.dype: int16
票数 0
EN

Stack Overflow用户

发布于 2020-04-30 17:23:44

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

您可以在numpy手册中或通过查看docstring找到更多信息:

numpy.dtype(self,/,*args,**kwargs) Docstring: D型(obj,align=False,copy=False) 创建数据类型对象。 numpy数组是同构的,包含由dtype对象描述的元素。dtype对象可以由基本数字类型的不同组合来构造。..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61529012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档