十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
numpy对象创建:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
| 名称 | 描述 | 
| object | 数组或嵌套的数列 | 
| dtype | 数组元素的数据类型,可选 | 
| copy | 对象是否需要复制,可选 | 
| order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) | 
| subok | 默认返回一个与基类类型一致的数组 | 
| ndmin | 指定生成数组的最小维度 | 
数据类型转换
拷贝
最小维度
subok
| 名称 | 描述 | 
| bool_ | 布尔型数据类型(True 或者 False) | 
| int_ | 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) | 
| intc | 与 C 的 int 类型一样,一般是 int32 或 int 64 | 
| intp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) | 
| int8 | 字节(-128 to 127) | 
| int16 | 整数(-32768 to 32767) | 
| int32 | 整数(-2147483648 to 2147483647) | 
| int64 | 整数(-9223372036854775808 to 9223372036854775807) | 
| uint8 | 无符号整数(0 to 255) | 
| uint16 | 无符号整数(0 to 65535) | 
| uint32 | 无符号整数(0 to 4294967295) | 
| uint64 | 无符号整数(0 to 18446744073709551615) | 
| float_ | float64 类型的简写 | 
| float16 | 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位 | 
| float32 | 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位 | 
| float64 | 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位 | 
| complex_ | complex128 类型的简写,即 128 位复数 | 
| complex64 | 复数,表示双 32 位浮点数(实数部分和虚数部分) | 
| complex128 | 复数,表示双 64 位浮点数(实数部分和虚数部分) | 
数据类型对象(numpy.dtype 类的实例)用来描述与数组对应的内存区域是如何使用,它描述了数据的以下几个方面:
字节顺序是通过对数据类型预先设定 < 或 > 来决定的。 < 意味着小端法(最小值存储在最小的地址,即低位组放在最前面)。> 意味着大端法(最重要的字节存储在最小的地址,即高位组放在最前面)。
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) | 
dt = np.dtype(np.int32)
print(dt)
输出:
int32
dt = np.dtype('i4')
print(dt)
输出:
int32
dt = np.dtype([('age', np.int8)])
print(dt)
输出:
[('age', 'i1')]
student = np.dtype([('name','S20'), ('age','i1'), ('score', 'f4')])
a = np.array([('xm', 10, 98.123456789), ('xh', 8, 99.111111111), ('xl', '9', 100)], dtype=student)
print(a)
输出:
[(b'xm', 10,  98.12346 ) (b'xh',  8,  99.111115) (b'xl',  9, 100.      )]