修改数组形状
numpy.reshape(x,size)/ndarray.reshape(size)
reshape函数生成前后的数组会公用相同的内存,在前后数据数量不一致时会报错
numpy.resize(x,newshape)/narray.resize(newshape,refcheck)
resize函数会生成新的数组,不会和生成前的数据共内存,使用numpy.resize修改形状时,前后数量不一致会继续执行,narray.resize(newshape,refcheck),当refcheck为True时,和numpy.reshape执行效果相同,在执行前后大小不一致时,会报错,当refcheck为False时,和numpy.resize执行效果相同,
在尾部添加元素
numpy.append(x,values,axis)
values需要添加的元素或者数组,axis表示轴方向
真假值判断
numpy.all(x,axis,out,keepdims)/ndarray.all(axis,out,keepdims)
numpy.any(x,axis,out,keepdims)/ndarray.any(axis,out,keepdims)
numpy.all和ndarray.all判断数据在axis方法是否全为真,numpy.any和ndarray.any判断数据在axis方法是否存在真
any和all用发相同,不在举例截图
指定条件数组索引
numpy.where(condition[,x,y])
在参数x和y缺失的情况下,numpy.where用于获取指定索引,在x和y都存在时,该函数返回的是与最初的数组结构相同的数组,在True位置为x,在False位置为y
由于X为二维数组,所以where使用元组表示位置
最大值最小值
numpy.max(x,axis,out,keepdims)/ndarray.max(axis,out,keepdims)
numpy.amax(x,axis,out,keepdims)/numpy.nanmax(x,axis,out,keepdims)
numpy.min(x,axis,out,keepdims)/ndarray.min(axis,out,keepdims)
numpy.amin(x,axis,out,keepdims)
numpy.max、ndarray.max、numpy.amax三个函数在存在NAN时,NAN被认为是最大值,numpy.nanmax是剔除NAN后查找最大值
获取最大值最小值位置
numpy.argmax(x,axis,out)/ndarray.argmax(axis,out)
numpy.argmin(x,axis,out)/ndarray.argmin(axis,out)
argmax用于获取在axis方向最大值的坐标,argmin用于获取在axis方向最小值的坐标
排序函数
numpy.sort(x,axis,kind)/ndarray.sort(axis,kind)
numpy.argsort(x,axis,kind)/ndarray.argsort(axis,kind)
sort返回排序后的数组,argsort返回排序后的数组索引,ndarray.sort会对原数组产生影响,ndarray.argsort不会对原数组产生影响
数组拼接
numpy.hstack(tup)
numpy.vstack(tup)
numpy.hstack用于在axis=1方向上对数组进行拼接,其他维度的大小需要相同
numpy.vstack用于在axis=0方向上对数组进行拼接,其他维度的大小需要相同
生成指定数据
numpy.ones(shape,dtype)
numpy.ones_like(a,dtype)
numpy.zeros(shape,dtype)
numpy.zeros_like(a,dtype)
numpy.empty(shape,dtype)
numpy.empty_like(a,dtype)
numpy.ones生成全1矩阵,numpy.zeros生成全0矩阵,numpy.empty生成空矩阵,内部值是随机产生的
生成等差矩阵
numpy.arange([start,]end[,step,dtype])
numpy.linspace(start,end,num=50,endpoint=True,dtype)
numpy.arange生成连续的等差数列
numpy.linspace生成指定区间的等差数组
生成单位矩阵
numpy.eye(N,M=None,k = 0,dtype=float)
numpy.identity(n,dtype=float)
numpy.eye可以通过指定行和列生成单位矩阵
numpy.identity是生成正单位矩阵
生成随机数
numpy.random.rand(d0, d1, ..., dn)
numpy.random.randint(low, high=None, size=None, dtype=int)
numpy.random.randn(d0, d1, ..., dn)
numpy.random.normal(loc=0.0, scale=1.0, size=None)
numpy.random.rand随机生成[0,1)的数
numpy.random.randint随机生成 [low
, high
)的整数
numpy.random.randn随机生成服从0-1正态分布函数
numpy.random.normal随机生成服从loc-scale正态分布函数
随机排序
np.random.shuffle(X)
np.random.shuffle随机打乱x的顺序,x需要能够in-place(可修改)
随机选择
np.random.choice(a, size=None, replace=True, p=None)
np.random.choice是在一维数组a中随机选择size数,replace为True表示放回采样,p表示每个数取得的概率
扁平化操作
ndarray.flatten()
numpy.ravel(a, order='C')
flatten生成了数组的副本,numpy.ravel生成函数的镜像,不会生成数组的副本
数据本地化
numpy.savetxt(fname,X,fmt='%.18e',delimiter=' ',newline='\n',header='',footer='',comments='# ',encoding=None,)
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
numpy.load(file,mmap_mode=None,allow_pickle=False,fix_imports=True,encoding='ASCII',*,max_header_size=10000,)
np.loadtxt(fname,dtype=<class 'float'>,comments='#',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding='bytes',max_rows=None,*,quotechar=None,like=None,)
savetxt和save都是用于存储数据,区别就是savetxt无法存储超过2维的数据,save无法保存为csv格式数据
平铺数据
numpy.tile(X,reps)
reps用于指定需要在哪个坐标轴方向上对数据内容进行重复处理,