np.gradient(f) 计算数组f中元素的梯度,当f为多维时,返回每个维度的梯度
梯度:连续值之间的变化率,即斜率
实例代码如下
#一维数组:存在俩侧值 斜率=(右侧值-左侧值)/ 2
只存在一侧值 斜率=(本身-左侧值) 或者 (右侧值-本身)
>>> import numpy as np
>>> c=np.random.randint(0,20,15)
>>> np.gradient(c)
array([ 7. , -6. , -4. , 7.5, -5.5, -2. , 4.5, 2.5, 2.5,
-1.5, -2.5, -5.5, 2. , 0. , -11. ])
>>> d=np.random.randint(0,20,(3,5))
>>> np.gradient(d)
[array([[ 0. , 14. , -3. , 0. , 1. ],
[ -7.5, 1. , -0.5, -6. , -5.5],
[-15. , -12. , 2. , -12. , -12. ]]), array([[-13. , -3. , 6.5, 2.5, -1. ],
[ 1. , -4.5, -0.5, 4.5, 0. ],
[ 4. , 4. , -0.5, -2.5, 0. ]])]
函数名 | 描述 |
---|---|
sum(a,axis=None) | 求和 |
mean(a,axis=None) | 求期望 |
average(a,axis=None,weight=None) | 求平均值 / 加权平均值 |
std(a,axis=None) | 求标准差 |
var(a,axis=None) | 求方差 |
案例:实例代码如下
>>> import numpy as np
>>> a=np.arange(15).reshape(3,5)
>>> np.sum(a)
105
>>> np.mean(a)
7.0
>>> np.average(a)
7.0
>>> np.std(a)
4.320493798938574
>>> np.var(a)
18.666666666666668
函数名 | 描述 |
---|---|
max(a) | 最大值 |
min(a) | 最小值 |
ptp(a) | 最大值-最小值 |
median(a) | 中位数 |
unravel_index(index,shape) | 根据shape将一维下标index转化为多维下标 |
argmin(a) | 最小值的降一维后下标 |
argmax(a) | 最大值的降一维后下标 |
案例:实例代码如下 |
>>> b=np.arange(15,0,-1).reshape(3,5)
>>> np.min(b)
1
>>> np.argmax(b)
0
>>> np.unravel_index(np.argmax(b),b.shape)
(0, 0)
>>> np.ptp(b)
14
>>> np.median(b)
8.0
函数名 | 描述 |
---|---|
.rand(d0,d1,…d n) | 根据d0 --dn创建随机数组,浮点数 [0,1) 均匀分布 |
.randn(d0,d1,…d n) | 根据d0 --dn创建随机数组,标准正态分布 |
randint(low[,high,shape]) | 根据shape创建随机整数或整数数组,范围为[low,high] |
seed(s) | 给定一个种子s |
函数的使用,代码如下:
>>> import numpy as np
>>> a=np.random.rand(3,4,5)
>>> a=np.random.randn(3,4,5)
>>> a=np.random.randint(200,400,[3,4])
>>> a=np.random.seed(3)
>>> d=np.random.randint(200,400,[3,4])
>>> d
函数名 | 描述 |
---|---|
shuffle(a) | 根据数组a的第一轴进行随机排列,改变数组a |
permutation(a) | 根据数组啊的第一轴产生一个新的乱序数组,不改变a |
choice(a[,size,replace,p]) | 从一维数组a中的概率p抽取元素,形成size形状的数组,replace表示是否可以重用元素,默认为f |
实例代码如下
>>> import numpy as np
>>> a=np.random.randint(100,200,[3,4])
>>> a
array([[163, 135, 174, 193],
[160, 189, 199, 129],
[133, 199, 179, 176]])
>>> np.random.shuffle(a)
>>> a
array([[133, 199, 179, 176],
[160, 189, 199, 129],
[163, 135, 174, 193]])
>>> np.random.permutation(a)
array([[163, 135, 174, 193],
[160, 189, 199, 129],
[133, 199, 179, 176]])