numpy入门详细教程(五)

本讲主要介绍numpy的随机数函数、numpy的统计函数、numpy的梯度函数。

numpy的随机数函数

numpy的random子库:np.random.*,主要有np.random.rand()   np.random.randn()   np.random.randint()

rand(d0,d1,d2,……,dn)  :  根据d0-dn创建随机数组,浮点数,范围是[0,1),均匀分布

randn(d0,d1,d2,……,dn)  :  根据d0-dn创建随机数组,标准正态分布

randint(low, high, shape) : 根据shape创建随机数数组,范围是[low, high)

seed(s) : 随机数种子,s是给定的种子值

如上图:当给定的种子值为4时,产生的随机数数组为array([[7, 6, 5],
                                                                                               [5, 7, 6]])

当再次给定种子值为4时,产生的随机数数组不变

shuffle(a): 根据数组a的每一纵列进行随机排列,数组a发生改变

permutation(a) :根据数组a的每一纵列进行随机排列,数组a不改变

choice(a, size, replace, p):从一维数组a中以概率p抽取元素,形成size形状的新数组,replace表示是否可以重用元素,默认为                                                 True

已知数组a:

 

变换1:

变换2:

变换3:

uniform(low, high, size)  : 产生具有均匀分布的数组,low起始值,high结束值,size形状

normal(loc,scale,size)   :  产生具有正态分布的数组,loc均值,scale标准差,size形状

poisson(lam,size)  :   产生具有泊松分布的数组,lam随机事件发生率,size形状

numpy的统计函数:

已知数组a:

np.sum(a, axis=None) : 根据给定轴axis计算数组a相关元素之和,axis整数或元组。

分析:

当axis=None时,np.sum(a)表示数组a的所有元素总和

当axis=0时,表示的是数组a各纵列元素之和

当axis=1时,表示的是数组a各横列元素之和

mean(a, axis=None) :根据给定轴axis计算数组a相关元素的期望,axis整数或元组

average(a,axis=None,weights=None):根据给定轴axis计算数组a相关元素的加权平均值

weights=None时:

weight != None 时:

分析:Out[59] 中的6.5是如何得来的:(2*0+5*3+10*5)/(2+3+5)=6.5

std(a, axis=None) : 根据给定轴axis计算数组a相关元素的标准差

var(a, axis=None) :  根据给定轴axis计算数组a相关元素的方差

min(a)  max(a) :  计算数组a中元素的最小值、最大值

argmin(a)  argmax(a) :  计算数组a中元素最小值、最大值的降一维后下标

unravel_index(index, shape) :  根据shape将一维下标index转换成多维下标

ptp(a) :  计算数组a中元素最大值与最小值的差

median(a)  :   计算数组a中元素的中位数(中值)

numpy的梯度函数:

np.gradient(a)  :计算数组a中元素的梯度,当a为多维时,返回每个维度梯度

梯度:连续值之间的变化率,即斜率

XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2

已知数组a:

求np.gradient(a):

分析:

Out[62]中7是如何得来的:(16-2)/2=7;  -2是如何得来的;特例:-2是如何得来的:(2-4)/1=-1;

                                           -13是如何得来的:(3-16)/1=-13

当数组a为多维数组时:

 

求np.gradient(a):

在上图中:上侧表示最外层维度(axis=0)的梯度,下侧表示第二层维度(axis=1)的梯度。

注:作者在慕课上跟随嵩天老师学习python数据分析与展示,收获良多。以上内容为学习笔记。

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值