numpy是用于数组/向量/矩阵的创建、计算、管理的python 工具
1.创建数组:
import numpy as np
a=np.array([1,2,3,4,5,6]) #np.array()
a=np.zeros(3,2) #全零数组
a=np.ones(3,2) #全1数组
a=np.arange(1,10) #递增数列
a=np.linspace(0,100,5) #0-100,5个等距分布的数
a=np.random.rand(3,2) #随机数组
2.调整数组( a.##() ):
dtype=np.int32 #dtype中可以重新定义数据类型,可以放在每个新建数组的()中
a.shape #会输出a的尺寸
a.astype(int) #转换数据类型
运算与取值的方法
a.sum() #返回所有数据的和
a.mean() #返回平均值
a.var() #返回方差
a.std() #返回标准差
a.min() #返回最小值
a.max() #返回最大值
a.argmin() #返回最小值的索引
a.argmax() #返回最大值的索引
ps.多维数组中,以上方法的括号里可加:
axis=0 #表示按照第一维数据进行函数运算,返回一个数组/矩阵
axis=1 #表示按照第二维数据进行函数运算,返回一个数组/矩阵
3.数组运算( np.##(a) ):
np.dot(a,b) #点乘,返回一个数
np.matmul(a,b) #矩阵乘法,返回矩阵
a@b #同上
np.median(a)#返回中位数
np.sqrt(a) #求平方根,返回矩阵
np.sin(a) #求三角函数,返回矩阵
np.cos(a) #求三角函数,返回矩阵
np.log(a) #求对数,返回矩阵
np.power(a,2) #求指数,返回矩阵
4.广播:
a*5 #所有数据都*5
eg. a=np.array([1,2,3])
b=a.T
c=a+b #c成为二维数组
5.元素获取
a[0,1] #行,列
a[a<3] #条件
a[(a>3)&(a%2==0)] #布尔+条件
获得标号为i的第一维数据:a[i,:]或者是a[i]
获得标号为j的第二维数据:a[:,j]
获得标号为z的第三维数据:a[:,:,z] #在三维数据中提取z号分量(二维的)。若是rgb的话,就是提取红色分量的二维图片
跨度取值,即在某一维的第二个“:”后的数值
a[4:1:-2] #表示从第一维序号为4开始取值,每隔1个数向前取值
a[::-1] #数组翻转