numpy库矩阵求最大值、最小值、平均值、方差标准差、中值、求和
·
最大值最小值
- 获得整个矩阵、行或列的最大最小值。
- 获得元素最大值的函数:max
- 获得元素最小值的函数:min
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(a.max()) #获取整个矩阵的最大值 结果:9
print(a.min()) #获取整个矩阵的最小值 结果: 0
# 可以指定关键字参数axis来获得行最大(小)值或列最大(小)值
# axis=0 行方向最大(小)值,即获得每列的最大(小)值
# axis=1 列方向最大(小)值,即获得每行的最大(小)值
# 例如
print(a.max(axis=0)) #[4 8 6 9]
print(a.max(axis=1))#[3 6 9]
#返回的是位置(索引)
print(a.argmax(axis=0)) #[1 2 1 2]
平均值
- 可以获得整个矩阵、行或列的平均值。
- 获得矩阵中元素的平均值:mean()。
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(a.mean()) #3.9166666666666665
# 同样地,可以通过关键字axis参数指定沿哪个方向获取平均值
print(a.mean(axis=0)) # 结果 [1.66666667 5. 4.33333333 4.66666667]
print(a.mean(axis=1)) # 结果 [2.25 4.25 5.25]
方差
- 函数为var()
- 方差函数var()相当于函数mean(abs(x - x.mean())**2),其中x为矩阵。
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.var()) # 结果 2.91666666667
print(a.var(axis=0)) # 结果 [ 2.25 2.25 2.25]
print(a.var(axis=1)) # 结果 [ 0.66666667 0.66666667]
标准差
- 函数:std()
- std()相当于sqrt(mean(abs(x - x.mean())**2)),或相当于sqrt(x.var())。
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(a.std()) # 结果2.5967394084804805
print(a.std(axis=0)) # 结果[1.69967317 2.44948974 1.24721913 3.09120617]
print(a.std(axis=1)) # 结果 [0.8291562 1.47901995 3.56195171]
中值
中值指的是将序列按大小顺序排列后,排在中间的那个值,如果有偶数个数,则是排在中间两个数的平均值。
- 函数:median()
- numpy.median(x,[axis]),axis可指定轴方向,默认axis=None,对所有数取中值。
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(np.median(a)) # 结果 3.5
print(np.median(a,axis=0)) # 结果[1. 5. 4. 3.]
print(np.median(a,axis=1)) # 结果[2.5 4.5 6. ]
求和 sum()
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(a.sum()) # 结果 47
print(a.sum(axis=0)) # 结果[ 5 15 13 14]
print(a.sum(axis=1)) # 结果[ 9 17 21]
- cumsum()
如序列[1,2,3,4,5],其累计和为[1,3,6,10,15],即第一个元素为1,第二个元素为1+2=3,……,第五个元素为1+2+3+4+5=15。
import numpy as np
a = np.array([[1,2,3,3],[4,5,6,2],[0,8,4,9]])
print(a.cumsum())
print(a.cumsum(axis=0))
print(a.cumsum(axis=1))
# 结果
[ 1 3 6 9 13 18 24 26 26 34 38 47]
[[ 1 2 3 3]
[ 5 7 9 5]
[ 5 15 13 14]]
[[ 1 3 6 9]
[ 4 9 15 17]
[ 0 8 12 21]]
更多推荐
已为社区贡献2条内容
所有评论(0)