什么是 NumPy
NumPy 是一个用 python 实现的科学计算,包括:1、一个强大的 N 维数组对象 Array;2、比较成熟的(广播)函数库;3、用于整合 C/C++ 和 Fortran 代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数,numpy 和稀疏矩阵运算包scipy配合使用更加方便
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库,专为进行严格的数字处理而产生,多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore, NASA 用其处理一些本来使用 C++,Fortran 或 MatLab 等所做的任务
安装 NumPy
在 windows 下,推荐使用下载 Python 发行版的方式,它会包含很多关键的包,比如NumPy
、Pandas
等
我选择的是ANACONDA
,可以直接百度搜索到官网下载,但是会很慢,可以在清华大学开源镜像站下载,连接是
下载安装后,系统就已经拥有 NumPy 包了
也可以使用 PIP 命令直接安装
导入 NumPy
1 | import numpy as np |
上边的代码是向程序中导入 NumPy 库,如果导入成功,也就说明 NumPy 库安装成功了
NumPy 中的 NdArray 对象
NumPy 最最最重要的特点就是它所包含的多维数组对象:ndarray
,它是用于存放同类元素的多维数组
NdArray 的使用
创建一个 NdArray 对象
ndarray
数组可以直接通过numpy.array(object, dtype = None, copy = True, order = None, subok = False, nfmin = 0)
方法来创建,下面说一下ndarray
的重要参数
- object:数组或嵌套数列
- dtype:数组元素的数据类型,可选
- copy:对象是否需要复制,可选
- order:创建数组呃样式,C 为行方向,F 为列方向,A 为任意方向(默认)
- subok:默认返回一个与基类类型一致的数组
- ndmin:指定生成数组的最小维度
下面是一个创建多维数组的简单示例:
1 | arr = np.array( |
NumPy 中的数据类型
numpy
支持的数据类型比Python
内置的数据类型多得多,如下表:
数据类型 | 描述 |
---|---|
bool_ | 布尔型数据类型(True 或 False) |
int_ | 默认的整数类型(类似于 C 语言中的 long) |
intc | 同 C 语言中的 int 类型一样 |
intp | 用于索引的整数类型 |
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
中,每个内建类型都有一个唯一定义的字符代码:
字符 | 对应类型 |
---|---|
b | 布尔型 |
i | (有符号) 整型 |
u | 无符号整型 integer |
f | 浮点型 |
c | 复数浮点型 |
m | timedelta(时间间隔) |
M | datetime(日期时间) |
O | (Python) 对象 |
S, a | (byte-)字符串 |
U | Unicode |
V | 原始数据 (void) |