NumPy 教程 之 NumPy 数据类型 5

简介: NumPy 的 `dtype` 对象详细描述数组数据的类型、大小、字节顺序等属性,支持结构化类型和子数组。例如,`<i4` 表示小端法的 32 位整数。`numpy.dtype()` 构造函数用于创建 `dtype` 实例,可指定对齐和复制选项。实例:`np.dtype('<i4')` 创建了一个表示小端法整数的 `dtype`,输出为 `int32`。

NumPy 教程 之 NumPy 数据类型 5

NumPy 数据类型

numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。数据类型对象 (dtype)
数据类型对象(numpy.dtype 类的实例)用来描述与数组对应的内存区域是如何使用,它描述了数据的以下几个方面::

数据的类型(整数,浮点数或者 Python 对象)
数据的大小(例如, 整数使用多少个字节存储)
数据的字节顺序(小端法或大端法)
在结构化类型的情况下,字段的名称、每个字段的数据类型和每个字段所取的内存块的部分
如果数据类型是子数组,那么它的形状和数据类型是什么。
字节顺序是通过对数据类型预先设定 < 或 > 来决定的。 < 意味着小端法(最小值存储在最小的地址,即低位组放在最前面)。> 意味着大端法(最重要的字节存储在最小的地址,即高位组放在最前面)。

dtype 对象是使用以下语法构造的:

numpy.dtype(object, align, copy)
object - 要转换为的数据类型对象
align - 如果为 true,填充字段使其类似 C 的结构体。
copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用

实例
接下来我们可以通过实例来理解。

实例 3
import numpy as np

字节顺序标注

dt = np.dtype('<i4')
print(dt)
输出结果为:

int32

目录
相关文章
|
3月前
|
索引 Python
NumPy 教程 之 Numpy 数组操作 28
NumPy 提供多种数组操作功能,包括修改形状、翻转、连接和分割等。本教程重点介绍元素的添加与删除,如使用 `resize`、`append`、`insert` 和 `delete` 函数。其中 `numpy.insert` 可在指定索引前插入值,支持标量或数组插入。示例展示了不同情况下 `insert` 的使用方法,包括不指定轴时的数组扁平化插入,以及沿特定轴进行广播插入。
36 2
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 11
本教程介绍Numpy中的数组操作,重点在于修改数组维度的方法,包括广播(`broadcast`)、扩展(`expand_dims`)和压缩(`squeeze`)维度等。通过实例展示了如何使用`numpy.broadcast`模拟广播机制,以及如何手动实现两个数组间的广播相加操作,并得到与Numpy内置广播相同的结果。
41 8
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 27
Numpy数组操作教程27,涵盖数组的修改、翻转、连接、分割及元素增删。重点介绍`numpy.append`函数,用于向数组末尾添加元素。参数`arr`为原数组,`values`为待添加值,需与`arr`形状匹配(除添加轴外),`axis`定义添加方向,默认为None时返回一维数组。示例展示了不同轴向的添加效果。
28 1
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 22
本教程介绍NumPy中分割数组的方法。`numpy.split`可沿指定轴将数组分为子数组,参数包括待分割数组、切分数或位置及轴向。示例展示了如何使用`numpy.split`和`numpy.hsplit`沿不同轴向分割一个4x4数组。`numpy.split`在默认轴0方向分割,而通过设定`axis=1`实现水平分割;`numpy.hsplit`则专门用于水平分割。
33 2
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 19
本教程介绍Numpy数组操作,涵盖数组形状修改、翻转、维度调整、连接与分割以及元素增删等关键技能。重点讲解`numpy.vstack`函数,该函数可将多个数组沿垂直方向堆叠。示例展示了如何使用`vstack`将两个2D数组堆叠成一个更大的数组,适用于数据整合场景。
32 2
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 18
NumPy 提供多种数组操作功能,包括修改形状、翻转、调整维度、连接与分割以及元素的增删。其中,`numpy.hstack`用于水平合并数组。例如,两个二维数组可以通过`hstack`沿列方向拼接。给定两个数组 `a` 和 `b`,使用 `np.hstack((a,b))` 可以将它们水平堆叠,如示例所示,得到的新数组在原有行数不变的情况下,列数为两者之和。
26 1
|
3月前
|
Python
NumPy 教程 之 Numpy 数组操作 7
本教程介绍Numpy数组操作,涵盖形状修改、翻转、维度调整、连接与分割及元素增删等功能。重点讲解了不改变数据条件下修改数组形状的方法,包括`reshape`函数的应用,以及`flat`、`flatten`和`ravel`的区别与联系。示例中展示了如何利用`ndarray.T`进行数组转置,简洁明了地实现了二维数组的行列互换。
31 5
|
4月前
|
存储 C语言 Python
NumPy 教程 之 NumPy 数据类型 10
NumPy的`dtype`对象详细描述数组数据,包括类型(如整数、浮点、对象)、大小、字节顺序和结构化字段信息。构造`dtype`时可指定对齐和是否复制。例如,定义一个结构化类型`student`含字符串`name`、整数`age`和浮点数`marks`,然后创建一个数组应用该类型,输出显示结构化数据内容。
41 5
|
4月前
|
存储 C语言 Python
NumPy 教程 之 NumPy 数据类型 11
NumPy的`dtype`对象详细描述数组数据的类型、大小、字节顺序及结构。它支持布尔、整数、浮点、复数、时间和日期类型等,与C语言类型相似。通过`numpy.dtype`构造,可指定对齐和复制。每个类型有唯一字符标识,如&#39;b&#39;代表布尔,&#39;i&#39;代表有符号整数,&#39;f&#39;代表浮点数,&#39;c&#39;代表复数,&#39;S&#39;和&#39;U&#39;表示字符串,&#39;V&#39;表示原始数据。字节顺序用&#39;&lt;&#39;或&#39;&gt;&#39;标记。
26 2
|
4月前
|
存储 C语言 Python
NumPy 教程 之 NumPy 数据类型 4
NumPy 的 `dtype` 对象详细描述数组数据的类型、大小、字节顺序及结构,支持C语言式数据类型。例如,`dt = np.dtype(&#39;i4&#39;)` 创建了一个表示`int32`的 dtype。实例输出显示数据类型为`int32`。字节顺序通过 `&lt;`(小端法)和 `&gt;`(大端法)设置。`numpy.dtype` 构造函数允许指定数据类型、对齐和是否复制。
28 3
下一篇
无影云桌面