数组的拼接:
np.vstack((t1,t2))->竖直拼接
np.hstack((t1,t2))->水平拼接
数组的行列交换:
t[[1,2],:] = t[[2,1],:] #行交换
t[:,[0,2]]=t[[:,2,0]]#列交换
numpy更多方法:
获取最大值最小值的位置
1.np.argmax(t,axis=0)
2.np.argmin(t,axis=1)
创建一个全0的数组:np.zeros((3,4))
创建一个全为1的数组:np.ones((3,4))
创建一个对角线为1的正方形数组(方阵):np.eye(3)
numpy生成随机数:
np.random.rand(d0,d1,...,dn) #创建一个d0-dn维度的分布均匀的随机数数组,浮点数,范围从0-1
np.random.randn(d0,d1,...,dn) #创建一个d0-dn维度的标准正态分布随机数,浮点数,平均数0,标准差1
np.random.randint(low,hight,(shape))#从给定上下限范围选取随机数整数,范围是low,hight,形状是shape
np.random.uniform(low,hight,(size)) #产生具有均匀分布的数组,low起始值,hight结束值,size形状
np.random.normal(loc,scale,(size)) #从指定正态分布中随机抽取样本,分布中心是loc(概率分布的均值),标准差是scale,形状是size
np.random.seed(s)#随机数种子值,因为计算机生成的是伪随机数,所以通过设定相同的随机数种子,可以每次生成相同的随机数。
numpy中的nan和inf:
nan(NAN,Nan):not a number 表示不是一个数字
什么时候numpy中会出现nan:
当我们读取本地的文件为float的时候,如果有缺失,就会出现nan当做了一个不合适的计算机的时候(比如无穷大(inf)减去无穷大)
inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷
什么时候会出现inf包括(-inf +inf)
比如一个数字除以0,python中直接会报错,numpy中是一个inf或者-inf
1.两个nan是不相等的
2.np.nan!np.nan
3.利用以上的特性,判断数组中nan的个数
4.由于2,那么如何判断一个数字是否为nan呢?
通过np.isnan(a)来判断,返回bool类型
比如希望把nan替换为0
5.nan和任何值计算都为nan
numpy中常用统计函数:
求和:t.sum(axis=None)
均值:t.mean(a,axis=None)受离群点的影响较大
中值:np.median(t,axis=None)
最大值:t.max(axis=None)
最小值:t.min(axis=None)
极值:np.ptp(t,axis=None)即最大值和最小值之差
标准差:t.std(axis=None)