Numpy是一个开源的Python科学计算基础库,具有线性代数,傅里叶变换,随机数生成等功能
Numpy的引用
import numpy as np
Numpy中的N维数组对象:ndarray
ndarray是一个多维数组对象,由两部分构成:
1:实际数据
2:描述这些数据的元数据(数据维度,数据类型等)
==np.array()生成一个ndarray数组。
ndarray对象输出成[]==形式,元素由空格分割。
ndarray对象的几个基本属性:
.ndim:秩,即轴的数量或者维度的数量。
.shape:ndarray对象的尺度,即行数(n)和列数(m)。
.size:ndarray对象元素的个数,相当于shape里 n*m的值。
.dtype:ndarray对像元素类型。
.itemsize:ndarray对象中每个元素的大小,以字节为单位。
ndarray数组的类型变换:
astype(new_type)用于数组的类型变换,生成一个新数组,不改变原来的数组
数组的索引和切片:
一维数组的索引和切片:
一维数组的索引和切片和python的列表相似。从零开始计数。
切片语法:ndarray_obj[ 起始编号 : 终止编号 : 步长]。
多维数组索引和切片:
索引语法:ndarray_obj[index1,index2,…],不同维度索引用逗号隔开
切片语法:ndarray_obj[起始编号 : 终止编号 : 步长,起始编号 : 终止编号 : 步长…],不同维度切片用逗号隔开。
下图以三维数组为例:
ndarray的数组与标量运算等同于数组中每个元素和这个标量进行相应的运算。
NumPy常见一元函数 | 功能 |
---|---|
np.abs(x)/np.fabs(x) | 计算数组各元素的绝对值 |
np.sqrt(x) | 计算数组各元素的平根 |
np.square(x) | 计算数组各元素的平方 |
np.log(x)/np.log10(x)/np.logx(x) | 计算数组各元素的自然对数,10底对数和2底对数 |
np.ceil(x) /np.floor(x) | 计算数组各元素的ceiling值/floor值 |
np.rint(x) | 计算数组各元素的四舍五入值 |
np.modf(x) | 将数组各元素的小数和整数部分以两个独立的数组形式返回 |
np.cos(x)/np.cosh(x) | |
np.sin(x)/np.sinh(x) | 计算数组各元素的普通型和双曲线型三角函数 |
np.tan(x)/np.tanh(x) | |
np.exp(x) | 计算数组各元素的指数值 |
np.sign(x) | 计算数组各元素的符号值,1(+),0, -1(-) |
这些函数生成一个新的数组,并不改变原来的数组
Numpy二原函数 | 说明 |
---|---|
+ - * / ** | 两个数组对应元素进行对应运算 |
np.maximum(x,y)/np.fmax() | 计算元素级的最大值 |
np.minimum(x,y)/np.fmin() | 计算元素级的最小值 |
np.mod(x,y) | 元素级模运算 |
np.copysign(x,y) | 将数组y中各元素值的符号赋值给数组x对应元素 |
> < >= <=, == != | 算术比较,产生布尔型数组 |