一.基本知识
NumPy的主要对象是同构多维数组。它是一个元素表(通常是数字),都是相同的类型,由正整数元组索引。在NumPy维度中称为轴。
导入库方法:import numpy as np
对应的属性有:
.ndim:返回的是数组的维度,只有一个数。
.shape:每个维度中数组的大小,返回的是元组,对n行和m列的矩阵,shape将是(n,m)
.shape[0]:查看数组的行数
.shape[1]:查看数组的列数
.size:数组的元素总数。这等于元素的乘积shape
.dtype:数组中元素的类型
.itemsize:每个元素的大小,以字节为单位 ,每个元素占4个字节
二.常用的方法
【数组的创建】
np.arange(x) ; 生成从0到x-1的数组
np.arange(a,b,x) 生成从a到b间隔为x的数组
np.ones((n,m),dtype=np.int16): 生成n行m列的全1整数数组
np.zeros((n,m)) : 生成n行m列的全0数组
np.full((n,m), val): 生成n行m列全为val的数组
np.eye(n) : 生成n行n列的数组
np.linspace(a,b,x):生成从a到b间隔为x的数组
np.random.randn(n,m):生成n行m列的随机数
【数组维度变换】
a.reshape(m,n) : 不改变当前数组,将数组转为m行n列
a.resize(m,n):改变当前数组,将数组转为m行n列
a.ravel():将数组铺平,即转为一维数组
a.flatten():将a的副本转换为一维数组,a数组本身不变。
a.flat:将a转换为一维数组,a数组本身发生变化。通过a.flat[x]修改数组中的数据,x为索引值
a.T:将数组进行转置
【数组类型转换】
a.astype(new_type):将a的数组类型转为new_type,eg:a.astype(float)
a.tolist():将数组转为列表
【数组切片索引】
一维数组
a[0]:得到数组的第一个数值,索引是从0开始。
a[0:3]:得到数组的第一个到第三个的数组,不包括a[3],即左闭又开。
a[0:6:2]:即a[起始编号:终止编号(不含): 步长],等价于[a[0],a[2],a[4]]
多维数组
a[1]:得到多维数组的第二行数组
a[:3]:得到多维数组的第三列数组,“:”表示整个轴
a[0:3,2:4]:得到多维数组的从第一行到第三行,第三列到第四列的数组
【数组运算】
np.abs(a): 取各元素的绝对值
np.sqrt(a) : 计算各元素的平方根
np.square(a): 计算各元素的平方
np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数、10、2为底的对数
np.ceil(a) : 对a向上取整 eg:np.ceil(1.7) 结果为1
np.floor(a) :对a向下取整 eg:np.ceil(1.7) 结果为2
np.rint(a) : 各元素四舍五入
np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回
np.exp(a) : 计算各元素的指数值
np.sign(a) : 计算各元素的符号值 1(+),0,-1(-)
np.where(condition,x,y):条件判断,eg:np.where(x>0.5,a,0),当x满足输出a,否则输出0
【数组统计函数】
sum(a, axis = None) : 依给定轴axis计算数组a相关元素之和,axis为整数或者元组
mean(a, axis = None) : 依给定轴axis计算数组a相关元素平均值
average(a, axis =None, weights=None) : 依给定轴axis计算数组a相关元素的加权平均值
std(a, axis = None):依给定轴axis计算数组a相关元素的标准差
var(a, axis = None): 依给定轴axis计算数组a相关元素的方差
min(a):计算数组a的最小值
max(a):计算数组a的最大值