通过上一节的学习,我们可以了解到一部分矩阵中元素的计算和查找操作。然而在日常使用中,对应元素的索引也是非常重要的。依然,让我们先从一个脚本开始 :
import numpy as np
A = np.arange(2,14).reshape((3,4))
# array([[ 2, 3, 4, 5]
# [ 6, 7, 8, 9]
# [10,11,12,13]])
print(np.argmin(A)) # 0
print(np.argmax(A)) # 11
其中的 argmin()
和 argmax()
两个函数分别对应着求矩阵中最小元素和最大元素的索引。相应的,在矩阵的12个元素中,最小值即2,对应索引0,最大值为13,对应索引为11。
如果需要计算统计中的均值,可以利用下面的方式,将整个矩阵的均值求出来:
#如果需要计算统计中的均值,可以利用下面的方式,将整个矩阵的均值求出来:
print(np.mean(A)) # 7.5
print(np.average(A)) # 7.5
#仿照着前一节中dot() 的使用法则,mean()函数还有另外一种写法:
print(A.mean()) # 7.5
#同样的,我们可以写出求解中位数的函数
print(np.median(A)) # 7.5
#另外,和matlab中的cumsum()累加函数类似,Numpy中也具有cumsum()函数,其用法如下:
print(np.cumsum(A))
# [2 5 9 14 20 27 35 44 54 65 77 90]
#相应的有累差运算函数:
print(np.diff(A))
#这个函数将所有非零元素的行与列坐标分割开,重构成两个分别关于行和列的矩阵。
print(A)
print(np.nonzero(A))
#排序sort()
import numpy as np
A = np.arange(14,2, -1).reshape((3,4))
# array([[14, 13, 12, 11],
# [10, 9, 8, 7],
# [ 6, 5, 4, 3]])
print(np.sort(A))
# array([[11,12,13,14]
# [ 7, 8, 9,10]
# [ 3, 4, 5, 6]])
#矩阵的转置有两种表示方法:
print(np.transpose(A))
print(A.T)
# array([[14,10, 6]
# [13, 9, 5]
# [12, 8, 4]
# [11, 7, 3]])
# array([[14,10, 6]
# [13, 9, 5]
# [12, 8, 4]
# [11, 7, 3]])