初步分析ndarray类型变量的dtype属性,U10表示什么意思?
发布于 作者:苏南大叔 来源:程序如此灵动~

在通过numpy
的ndarray
类型变量,分析各种科学数据的时候,经常会看到U10
,<U5
,i5
,>i4
之类的奇怪表述。它们实际上是ndarray
的dtype
,也就是数组的子元素类型。在本文中,苏南大叔会对dtype
做简要的初步分析。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。测试环境:win10
,python@3.12.0
,numpy@1.26.1
。
初步认识 dtype
在以前的文字中,苏南大叔曾经表示过:ndarray
这个数据类型的一些行为非常奇怪,和list
类型的类似行为相比,区别很大。参考文字:
这是因为:
默认情况下,ndarray
的元素都有个默认统一的dtype
(当然也可以有不同的dtype
),它规定了ndarray
类型变量的元素的数据类型、长度以及存储方式等信息。
设置 dtype
在生成一个新的ndarray
类型变量后,可以直接设置普通的dtype
。
还可以给ndarray
每列数据,设置一个列名和dtype
。
每个列名可以设置不同的列名和不同的dtype
。
但是下面的这个例子就是出错的,注意对比看区别:
为什么会报错?请注意元素类型,一个是tuple
,一个是list
。
分析 dtype 类型
每个dtype
类型实际上都代表了三个意思,分别是:字节顺序、尺寸、数据类型。范例分析:
>
表示大端字节顺序,而<
表示小端字节编码。

所以,回到标题上,U10
表示什么意思呢?
因为这里其实还是非常复杂的,苏南大叔暂时不准备继续展开讨论。如果碰到新的dtype
,可以使用上面的方法分析一下先。
参考文章
结语
更多苏南大叔的python
相关经验文章,请点击下面的链接:


