Python&Numpy
一.介绍
Numpy是Python的一种扩展程序库,支持大量的维度数组和矩阵运算,对于数组运算提供大量的数学函数库。
Numpy主要用于数学库:
一个强大的N维数组对象 ndarray;
广播功能函数;
整合 C/C++/Fortran 代码的工具;
线性代数、傅里叶变换、随机数生成等功能;
NumPy 通常与 SciPy和 Matplotlib一起使用, 可以替代 MatLab。
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。
二.安装Numpy库
使用pip工具(pip --version 查看pip是否安装)
win+R,输入cmd打开cmd工具。输入python查看安装的python版本;
pip install numpy 安装numpy库
导入Numpy库,eye(4)输出一个二维对角矩阵验证是否Numpy安装成功。三.Ndarray 对象
Ndarray指的是N维数组对象,是一系列同类型数据的集合,集合中以0为下标为开始索引数据,集合中的每个数据元素占用的存储空间的大小是一样的。
ndarray内部包含以下内容:
1.一个指向数据的指针
2.数据类型(data-type)
3.表示各维度大小的元组
4.一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。
跨度可以是负数,可以让数组在内存中可以后向的移动。
创建一个nadarry,只需要调用Numpy中的array数组函数即可。
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object:数组或者嵌套的数列
dtype:数组元素的数据类型,可选
copy:对象是否需要复制,可选
order:创建数组的样式,C为行方向,F为列方向,A是任意方向(默认方式)
subok:默认返回一个基类数组一致 的数组
ndmin:指定生成数组的最小维度
实例:
四.numpy的数据类型
int_ :整数类型 内置缩写i
bool_:布尔类型,True/false 内置缩写b
intc:与c的整数类型一样
intp:用于索引的整数类型(一般情况下还是int32/int64)
int8:字节-128to127
int16:整数-32768to32767
int32:整数-2147483648 to 2147483647
int64:整数-9223372036854775808 to 9223372036854775807
uint8 无符号整数0 to 255 内置缩写u
uint16 无符号整数0 to 65535
uint32 无符号整数0 to 4294967295
uint64 无符号整数0 to 18446744073709551615
float_:float64 类型的简写 内置缩写f
float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complex_ complex128 类型的简写,即 128 位复数 内置缩写c
complex64 复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128 复数,表示双 64 位浮点数(实数部分和虚数部分)
numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32等五.数据类型对象dtype
用来描述数组对应的内存的区域如何 的使用
语法构造:
numpy.dtype(object,align,copy)
object:要转换成的数据类型对象
align:如果为true,则让填充字段类似C的结构体
copy:复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
六.numpy数组的属性
NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。也就是行数。
在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions),就是列。
主要ndaarry对象属性:ndarray.ndim: 秩,即轴的数量或维度的数量
ndarray.shape: 数组的维度,对于矩阵,n 行 m 列
ndarray.size: 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype: ndarray 对象的元素类型
ndarray.itemsize: ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags: ndarray 对象的内存信息
ndarray.real: ndarray元素的实部
ndarray.imag: ndarray 元素的虚部