Demo.py
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]])
# argmin() 和 argmax() 兩個(gè)函數(shù)分別對(duì)應(yīng)著求矩陣中最小元素和最大元素的索引
print np.argmin(A) # 0
print np.argmax(A) # 11
#求整個(gè)矩陣的均值
print np.mean(A) # 7.5 另一種寫法print A.mean() # 7.5
print np.average(A) # 7.5
#求解中位數(shù)
print np.median(A) # 7.5
#在累加運(yùn)算函數(shù)cumsum()中:生成的每一項(xiàng)矩陣元素均是從原矩陣首項(xiàng)累加到對(duì)應(yīng)項(xiàng)的元素之和
print np.cumsum(A)
# [2 5 9 14 20 27 35 44 54 65 77 90]
#累差運(yùn)算函數(shù)計(jì)算的便是每一行中后一項(xiàng)與前一項(xiàng)之差露乏。
#故一個(gè)3行4列矩陣通過函數(shù)計(jì)算得到的矩陣便是3行3列的矩陣。
print np.diff(A)
# [[1 1 1]
# [1 1 1]
# [1 1 1]]
#nonzero()函數(shù):將所有非零元素的行與列坐標(biāo)分割開,重構(gòu)成兩個(gè)分別關(guān)于行和列的矩陣讼育。
print np.nonzero(A)
# (array([0,0,0,0,1,1,1,1,2,2,2,2]),array([0,1,2,3,0,1,2,3,0,1,2,3]))
#同樣的,我們可以對(duì)所有元素進(jìn)行仿照列表一樣的排序操作,
#但這里的排序函數(shù)仍然僅針對(duì)每一行進(jìn)行從小到大排序操作:
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]])
#矩陣的轉(zhuǎn)置有兩種表示方法:
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]])
print A
# array([[14,13,12,11]
# [10, 9, 8, 7]
# [ 6, 5, 4, 3]])
#clip(Array,Array_min,Array_max)
print np.clip(A,5,9)
# array([[ 9, 9, 9, 9]
# [ 9, 9, 8, 7]
# [ 6, 5, 5, 5]])
結(jié)果:
0
11
7.5
7.5
7.5
[ 2 5 9 ..., 65 77 90]
[[1 1 1]
[1 1 1]
[1 1 1]]
(array([0, 0, 0, ..., 2, 2, 2], dtype=int64), array([0, 1, 2, ..., 1, 2, 3], dtype=int64))
[[11 12 13 14]
[ 7 8 9 10]
[ 3 4 5 6]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[14 13 12 11]
[10 9 8 7]
[ 6 5 4 3]]
[[9 9 9 9]
[9 9 8 7]
[6 5 5 5]]