最大值、最小值
获得整个矩阵、行或列的最大最小值。
- 获得元素最大值的函数:max
- 获得元素最小值的函数:min
示例代码:
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.max()) #获取整个矩阵的最大值 结果: 6
print(a.min()) #结果:1
# 可以指定关键字参数axis来获得行最大(小)值或列最大(小)值
# axis=0 行方向最大(小)值,即获得每列的最大(小)值
# axis=1 列方向最大(小)值,即获得每行的最大(小)值
# 例如
print(a.max(axis=0))
# 结果为 [4 5 6]
print(a.max(axis=1))
# 结果为 [3 6]
# 要想获得最大最小值元素所在的位置,可以通过argmax函数来获得
print(a.argmax(axis=1))
# 结果为 [2 2]
平均值
可以获得整个矩阵、行或列的平均值。
- 获得矩阵中元素的平均值:mean()。
示例代码:
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.mean()) #结果为: 3.5
# 同样地,可以通过关键字axis参数指定沿哪个方向获取平均值
print(a.mean(axis=0)) # 结果 [ 2.5 3.5 4.5]
print(a.mean(axis=1)) # 结果 [ 2. 5.]
方差
- 函数为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],[4,5,6]])
print(a.std()) # 结果 1.70782512766
print(a.std(axis=0)) # 结果 [ 1.5 1.5 1.5]
print(a.std(axis=1)) # 结果 [ 0.81649658 0.81649658]
中值
中值指的是将序列按大小顺序排列后,排在中间的那个值,如果有偶数个数,则是排在中间两个数的平均值。
- 函数:median()
- 调用方法为numpy.median(x,[axis]),axis可指定轴方向,默认axis=None,对所有数取中值。
示例代码:
import numpy as np
x = np.array([[1,2,3],[4,5,6]])
print(np.median(x)) # 对所有数取中值
# 结果
3.5
print(np.median(x,axis=0)) # 沿第一维方向取中值
# 结果
[ 2.5 3.5 4.5]
print(np.median(x,axis=1)) # 沿第二维方向取中值
# 结果
[ 2. 5.]
求和
- 函数:sum()
示例代码:
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.sum()) # 对整个矩阵求和
# 结果 21
print(a.sum(axis=0)) # 对行方向求和
# 结果 [5 7 9]
print(a.sum(axis=1)) # 对列方向求和
# 结果 [ 6 15]
累积和
- 某位置累积和指的是该位置之前(包括该位置)所有元素的和。
例如序列[1,2,3,4,5],其累计和为[1,3,6,10,15],即第一个元素为1,第二个元素为1+2=3,……,第五个元素为1+2+3+4+5=15。
- 函数:cumsum()
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a.cumsum()) # 对整个矩阵求累积和
# 结果 [ 1 3 6 10 15 21]
print(a.cumsum(axis=0)) # 对行方向求累积和
# 结果
[[1 2 3]
[5 7 9]]
print(a.cumsum(axis=1)) # 对列方向求累积和
# 结果
[[ 1 3 6]
[ 4 9 15]]