NumPy 教程 之 NumPy 数据类型 11

简介: NumPy的`dtype`对象详细描述数组数据的类型、大小、字节顺序及结构。它支持布尔、整数、浮点、复数、时间和日期类型等,与C语言类型相似。通过`numpy.dtype`构造,可指定对齐和复制。每个类型有唯一字符标识,如'b'代表布尔,'i'代表有符号整数,'f'代表浮点数,'c'代表复数,'S'和'U'表示字符串,'V'表示原始数据。字节顺序用'<'或'>'标记。

NumPy 教程 之 NumPy 数据类型 11

NumPy 数据类型

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

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

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

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

每个内建类型都有一个唯一定义它的字符代码,如下:

字符 对应类型
b 布尔型
i (有符号) 整型
u 无符号整型 integer
f 浮点型
c 复数浮点型
m timedelta(时间间隔)
M datetime(日期时间)
O (Python) 对象
S, a (byte-)字符串
U Unicode
V 原始数据 (void)

目录
相关文章
|
3天前
|
索引 Python
NumPy 教程 之 Numpy 数组操作 28
NumPy 提供多种数组操作功能,包括修改形状、翻转、连接和分割等。本教程重点介绍元素的添加与删除,如使用 `resize`、`append`、`insert` 和 `delete` 函数。其中 `numpy.insert` 可在指定索引前插入值,支持标量或数组插入。示例展示了不同情况下 `insert` 的使用方法,包括不指定轴时的数组扁平化插入,以及沿特定轴进行广播插入。
14 2
|
2天前
|
数据处理 Python
NumPy 教程 之 NumPy 位运算 1
NumPy 位运算教程介绍如何利用 NumPy 的 &quot;bitwise_&quot; 系列函数对二进制位进行操作。这些函数包括按位与 (`bitwise_and`)、按位或 (`bitwise_or`)、按位异或 (`bitwise_xor`)、按位取反 (`bitwise_not` 或 `invert`) 以及位移运算 (`left_shift` 和 `right_shift`)。通过实例展示了布尔数组之间的位运算结果及整数的位移操作。适用于底层数据处理和优化场景。
10 4
|
2天前
|
Python
NumPy 教程 之 Numpy 数组操作 29
NumPy 提供多种数组操作函数,如修改形状、翻转和连接等。本教程重点介绍元素的添加与删除,包括 `resize`、`append`、`insert` 和 `delete` 函数。`numpy.delete` 用于从数组中删除指定元素,参数包括 `arr`(输入数组)、`obj`(待删元素)和 `axis`(删除轴)。示例展示了如何使用 `numpy.delete` 删除一维和二维数组中的元素。
10 4
|
2天前
|
数据挖掘 索引 Python
NumPy 教程 之 Numpy 数组操作 30
展示了如何使用`numpy.unique`去除数组中的重复值,并获取额外信息如索引和计数。示例中,数组`a`的重复值被去除,打印出唯一值及其在原数组中的首次出现索引、对应原值的索引以及各唯一元素的出现次数。这有助于数据分析时简化数据集。
8 2
|
4天前
|
Python
NumPy 教程 之 Numpy 数组操作 24
本教程介绍Numpy中分割数组的方法,特别是`vsplit`函数,它能将数组沿垂直轴分为多个子数组。示例代码展示了如何使用`vsplit`将一个4x4的数组分为两个2x4的子数组,适用于需要按行分割数据的场景。
7 1
|
5天前
|
Python
NumPy 教程 之 Numpy 数组操作 22
本教程介绍NumPy中分割数组的方法。`numpy.split`可沿指定轴将数组分为子数组,参数包括待分割数组、切分数或位置及轴向。示例展示了如何使用`numpy.split`和`numpy.hsplit`沿不同轴向分割一个4x4数组。`numpy.split`在默认轴0方向分割,而通过设定`axis=1`实现水平分割;`numpy.hsplit`则专门用于水平分割。
13 2
|
6天前
|
Python
NumPy 教程 之 Numpy 数组操作 19
本教程介绍Numpy数组操作,涵盖数组形状修改、翻转、维度调整、连接与分割以及元素增删等关键技能。重点讲解`numpy.vstack`函数,该函数可将多个数组沿垂直方向堆叠。示例展示了如何使用`vstack`将两个2D数组堆叠成一个更大的数组,适用于数据整合场景。
14 2
|
7天前
|
Python
NumPy 教程 之 Numpy 数组操作 16
本教程介绍Numpy中的数组操作,重点讲解了数组的连接方法。通过`concatenate`函数可以在指定轴上合并多个形状相同的数组。例如,有两个数组`a`和`b`,可以沿垂直轴(轴0)或水平轴(轴1)进行连接。默认情况下,`concatenate`沿轴0连接数组。示例展示了如何使用此函数实现垂直和水平的数组连接。
14 1
|
1天前
|
数据处理 Python
NumPy 教程 之 NumPy 位运算 4
NumPy 位运算教程展示了如何使用 NumPy 进行二进制位级别的操作,这些操作直接针对二进制位,适用于计算机底层数据处理与优化。NumPy 提供了以 &quot;bitwise_&quot; 开头的函数来执行位运算,包括 `bitwise_and`(按位与)、`bitwise_or`(按位或)、`bitwise_xor`(按位异或)、`bitwise_not` 或 `invert`(按位取反)以及 `left_shift` 和 `right_shift`(位移).
4 0
|
4天前
|
Python
NumPy 教程 之 Numpy 数组操作 25
Numpy 提供多种数组操作函数,如修改形状(`resize`)、翻转、调整维度、连接与分割数组等。还支持元素的增删,例如使用 `append` 添加元素至数组末尾,`insert` 在指定位置插入,`delete` 删除指定元素,以及利用 `unique` 获取数组中的唯一元素。`resize` 可按需调整数组大小,若新大小超过原大小,会复制原有元素以填充。
17 0