- NumPy 教程
- NumPy - 主页
- NumPy - 简介
- NumPy - 环境
- NumPy - Ndarray 对象
- NumPy - 数据类型
- NumPy - 数组属性
- NumPy - 数组创建例程
- NumPy - 来自现有数据的数组
- 来自数值范围的数组
- NumPy - 索引和切片
- NumPy - 高级索引
- NumPy - 广播
- NumPy - 迭代数组
- NumPy - 数组操作
- NumPy - 二元运算符
- NumPy - 字符串函数
- NumPy - 数学函数
- NumPy - 算术运算
- NumPy - 统计函数
- 排序、搜索和计数功能
- NumPy - 字节交换
- NumPy - 副本和视图
- NumPy - 矩阵库
- NumPy - 线性代数
- NumPy-Matplotlib
- NumPy - 使用 Matplotlib 绘制直方图
- NumPy - 使用 NumPy 进行 I/O
- NumPy 有用资源
- NumPy - 快速指南
- NumPy - 有用的资源
- NumPy - 讨论
NumPy - 数据类型
NumPy 比 Python 支持更多种类的数值类型。下表显示了 NumPy 中定义的不同标量数据类型。
先生。 | 数据类型和描述 |
---|---|
1 | 布尔_ 布尔值(True 或 False)存储为字节 |
2 | 整数_ 默认整数类型(与 C long 相同;通常为 int64 或 int32) |
3 | 国际委员会 与 C int 相同(通常为 int32 或 int64) |
4 | INTP 用于索引的整数(与 C ssize_t 相同;通常为 int32 或 int64) |
5 | 整型8 字节(-128 到 127) |
6 | 整型16 整数(-32768 至 32767) |
7 | 整型32 整数(-2147483648 至 2147483647) |
8 | 整型64 整数(-9223372036854775808 至 9223372036854775807) |
9 | uint8 无符号整数(0 到 255) |
10 | uint16 无符号整数(0 到 65535) |
11 | uint32 无符号整数(0 到 4294967295) |
12 | uint64 无符号整数(0 到 18446744073709551615) |
13 | 漂浮_ float64 的简写 |
14 | 浮动16 半精度浮点数:符号位,5位指数,10位尾数 |
15 | 浮动32 单精度浮点数:符号位、8位指数、23位尾数 |
16 | 浮动64 双精度浮点数:符号位、11 位指数、52 位尾数 |
17 号 | 复杂的_ Complex128 的简写 |
18 | 复杂64 复数,由两个 32 位浮点数(实部和虚部)表示 |
19 | 复杂128 复数,由两个 64 位浮点数(实部和虚部)表示 |
NumPy 数值类型是 dtype(数据类型)对象的实例,每个对象都具有独特的特征。数据类型可用作 np.bool_、np.float32 等。
数据类型对象(dtype)
数据类型对象描述了与数组对应的固定内存块的解释,具体取决于以下方面 -
数据类型(整数、浮点或 Python 对象)
数据大小
字节顺序(小端或大端)
如果是结构化类型,则为字段名称、每个字段的数据类型以及每个字段占用的内存块的一部分。
如果数据类型是子数组,则其形状和数据类型
字节顺序由数据类型前缀“<”或“>”决定。'<' 表示编码是小尾数法(最低有效位存储在最小地址中)。'>' 表示编码是大端字节序(最高有效字节存储在最小地址中)。
dtype 对象是使用以下语法构造的 -
numpy.dtype(object, align, copy)
参数是 -
对象- 转换为数据类型对象
Align - 如果为 true,则向字段添加填充以使其类似于 C 结构
复制- 制作 dtype 对象的新副本。如果为 false,则结果是对内置数据类型对象的引用
实施例1
# using array-scalar type import numpy as np dt = np.dtype(np.int32) print dt
输出如下 -
int32
实施例2
#int8, int16, int32, int64 can be replaced by equivalent string 'i1', 'i2','i4', etc. import numpy as np dt = np.dtype('i4') print dt
输出如下 -
int32
实施例3
# using endian notation import numpy as np dt = np.dtype('>i4') print dt
输出如下 -
>i4
以下示例展示了结构化数据类型的使用。这里,要声明字段名称和相应的标量数据类型。
实施例4
# first create structured data type import numpy as np dt = np.dtype([('age',np.int8)]) print dt
输出如下 -
[('age', 'i1')]
实施例5
# now apply it to ndarray object import numpy as np dt = np.dtype([('age',np.int8)]) a = np.array([(10,),(20,),(30,)], dtype = dt) print a
输出如下 -
[(10,) (20,) (30,)]
实施例6
# file name can be used to access content of age column import numpy as np dt = np.dtype([('age',np.int8)]) a = np.array([(10,),(20,),(30,)], dtype = dt) print a['age']
输出如下 -
[10 20 30]
实施例7
以下示例定义了一个名为Student 的结构化数据类型,其中包含字符串字段“name”、整数字段“age”和浮点字段“marks”。此 dtype 应用于 ndarray 对象。
import numpy as np student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) print student
输出如下 -
[('name', 'S20'), ('age', 'i1'), ('marks', '<f4')])
实施例8
import numpy as np student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student) print a
输出如下 -
[('abc', 21, 50.0), ('xyz', 18, 75.0)]
每个内置数据类型都有一个唯一标识它的字符代码。
'b' - 布尔值
'i' - (有符号)整数
'u' - 无符号整数
'f' - 浮点数
'c' - 复数浮点
'm' - 时间增量
'M' - 日期时间
'O' - (Python) 对象
'S', 'a' - (字节)字符串
'U' - 统一码
'V' - 原始数据(无效)