Numpy
基本操作
1.导入库:
import numpy as np
2.创建数组:
a = np.array([0, 1, 2, 3, 4] ) #使用array函数a = np.array([[11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [26, 27, 28 ,29, 30], [31, 32, 33, 34, 35]]) #创建多维数组a=np.zeros((2, 3)) #创建两行三列的0填充的矩阵,ones(shape)则是创建1填充的a=np.linspace(1., 4., 6) #创建1到4之间,共6个元素的等值间距的数组a=np.arange(起,止,步长) #创建 从起到至,按步长排列的数组a= np.indices((3,3)) #创建一个堆叠的更高维度的数组
3.多维数组的切片:
a[行,列],其中 :表示全部,a:b表示[a,b)范围,::a 表示步长为a
4.利用属性
.shape 查看几行几列,shape[0]查看行数,也可使用shape().ndim 查看数组的维度.size查看数组一共多少项数据 .itemsize占用的字节数.T 完成转置.real 获取实部.imag 获取虚部
5.基本操作符(+、-、*、/)
np中矩阵之间加减乘除是对应元素的+、-、*、/, 【注】一个数组加一个整数,则是对该数组每个元素加该整数,这个过程成为数组的广播其他的计算函数:dot()函数,a.dot(b)表示ab矩阵相乘,数学上的相乘。sum() #求和,可使用axis限定方向,0为纵向,1为横向。[[...],[...],[...]]这样横着放求得时候他也会默认为二维方阵,最后结果是[...]min() #找出最小的元素max() #找出最大的元素mean() #返回均值std() #返回标准方差var() #返回方差cumprod() #原数组该位置的前几项元素乘 (累乘数组),可以使用axis指定方向,0表示纵向,1表示横向,默认横向cumsum() #原数组该位置的前几项元素和 (累加数组)ptp() #返回最大值减去最小值where() 函数 #条件函数,传入条件比如a>50这样的条件mask #布尔屏蔽,可以将这个作为一个条件传入,比如mask=b>0,a[mask]就是大于0的那部分
6.数组操作
.reshape() #完成形状转换.resize() #完成形状转换,但是会改变所作用的数组,有取代的意思。.ravel() #将多为数组转换成为一维数组.flatten() #将多维数组转换为一维数组,但这个是拷贝,需要分配内存.transpose() 转置hstack() #水平叠加,将两个数组合并,水平方向上合并在一起vstack()# 垂直叠加,将两个数组合并,垂直方向,也就是加到第一个数组下面,构成一个更大的数组concatenate() #通过设置一个axis值来确定水平叠加还是垂直叠加,axis=0为垂直叠加,1位水平叠加 hsplit() #纵向拆分vsplit() #横向拆分 split() #通过设置axis值来确定纵向还是水平向拆分,axis=0位纵向,1位横向tolist() #数组转换为listastype() #数组转换为指定类型tille(矩阵,(纵向数量,横向数量)) #复制数组形成新的矩阵,比如a=[1],tile(a,(1,5),>>>[1,1,1,1,1]sort() #对数组排序,返回结果由小到大排,对于多维是对每一行进行排序(若是指定axis可实现按列或者按行跨行排序,结果是每一行或者每一列是有序的),注意py也自带对序列的sortargsort () #对数组排序,返回 由小到大排的索引