NumPy中的24种不同类型的标量详解
在NumPy中,提供了多种新的基本Python类型来描述不同类型的标量。
numpy.generic 是所有 numpy 标量类型的基类,是为了使得数组标量可以和ndarray数组对象保持相同的 API。
一、内置标量类型
numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。
下表列举了常用 NumPy 基本类型。
1. NumPy的默认数据类型是float_
Numpy的默认数据类型是float_
2. 布尔(Booleans)
| 类型 | 备注 | 字符代码 |
|---|---|---|
| bool_ bool8 | 布尔型数据类型(True 或者 False),兼容Python bool | ‘?’ |
3. 整数(Integers)
| 类型 | 备注 | 字符代码 |
|---|---|---|
| byte | 兼容C char | ‘b’ |
| short | 兼容C 短 | ’h’ |
| longlong | 兼容C 长 | ‘q’ |
| intc | 与 C 的 int 类型一样,一般是 int32 或 int 64,兼容C int | ‘i’ |
| int_ | 兼容Python int | ‘l’ |
| intp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) | ‘p’ |
| int8 | 字节 8位 | |
| int16 | 整数 16位 | |
| int32 | 整数 32位 | |
| int64 | 整数 64位 |
4. 无符号整数(Unsigned integers)
| 类型 | 备注 | 字符代码 |
|---|---|---|
| ubyte | 兼容C 无符号字符 | ‘B’ |
| ushort | 兼容C 无符号短 | ’H’ |
| ulonglong | 兼容C 无符号长 | ‘Q’ |
| uintc | 与 C 的 无符号 int 类型一样,兼容C unsigned int | ‘I’ |
| uint_ | 兼容Python int | ‘L’ |
| uintp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) | ‘P’ |
| uint8 | 无符号整数 8位 | |
| uint16 | 无符号整数 16位 | |
| uint32 | 无符号整数 32位 | |
| uint64 | 无符号整数 64位 |
5. 浮点数字(Floating-point numbers)
| 类型 | 备注 | 字符代码 |
|---|---|---|
| half | ‘e’ | |
| single | 兼容: C浮点数 | ’f’ |
| double | 兼容:C双精度浮点数 | |
| float_ | 64位,兼容:Python float | ‘d’ |
| longfloat | 兼容:C长浮点数 | ‘g’ |
| float16 | 16位 | |
| float32 | 32位 | |
| float64 | 64位 | |
| float96 | 96位 | |
| float128 | 128位 |
6. 复浮点数(Complex floating-point numbers)
| 类型 | 备注 | 字符代码 |
|---|---|---|
| csingle | ‘F’ | |
| complex_ | 兼容:Python复数 | 'D" |
| clongfloat | ‘G’ | |
| complex64 | 两个32位浮点数 | |
| complex128 | 两个64位浮点数 | |
| complex192 | 两个96位浮点数 | |
| complex256 | 两个128位浮点数 |
7. Python对象
| 类型 | 备注 | 字符代码 |
|---|---|---|
| object_ | Python对象 | ‘O’ |
注意:
实际存储在对象数组中的数据( 即 具有dtype的数组object_)是对Python对象的引用,而不是对象本身。因此,对象数组的行为更像普通的Python lists,因为它们的内容不必是相同的Python类型。
对象类型也是特殊的,因为包含object_项的数组 不会object_在项访问时返回对象,而是返回数组项引用的实际对象。
8.灵活的数据类型
| 类型 | 备注 | 字符代码 |
|---|---|---|
| bytes | 兼容:Python字节 | ‘S’ |
| unicode | 兼容:Python Unicode/str | ‘U’ |
| void | ‘V’ |
这些数据类型没有预定义的大小,在描述数据时可以设定不同的长度。
二、属性方法
数组标量类型的属性和方法对应于数组的属性,实现API的兼容。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python中利用numpy.array()实现俩个数值列表的对应相加方法
今天小编就为大家分享一篇python中利用numpy.array()实现俩个数值列表的对应相加方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08


最新评论