import numpy as np
x = np.array([[
11,12,
13,14,
15],[
16,17,
18,19,
20],[
21,22,
23,24,
25],[
26,27,
28,29,
30],[
31,32,
33,34,
35]])
y = np.amin(x)
print
(y)# 11
y = np.amin(x, axis=0)
print
(y)# [11 12 13 14 15]
y = np.amin(x, axis=1)
print
(y)# [11 16 21 26 31]
解釋:axis的上限隨著陣列的維度增加而增加,n維陣列ndarray,axis的範圍為[0, n-1],例如,對於一維陣列[1, 2],axis的範圍為0,二維陣列[[1, 2], [3, 4]]的axis的範圍為0~1,以此類推。其實axis每加一級,就相當於把陣列降一維度,遞迴的對其中的每個元素進行操作:
# 偽**
operation(ndarray, axis=n):if
(n ==0)
: res = caculate something cover all items in ndarray
return res
res =
for item in ndarray:1)
)return res
對於上面的例子,陣列是二維的,當axis=0時,拆掉最外面的中括號,剩下
[11,
12,13,
14,15]
,[16,
17,18,
19,20]
,[21,
22,23,
24,25]
,[26,
27,28,
29,30]
,[31,
32,33,
34,35]
以每個塊為整體,對所有的塊做min運算,這是向量化的運算,對不同一維陣列中的同一位置上的元素做運算,在這個例子中,得到的結果是[11, 12, 13, 14, 15]。因為axis=0,所以最終的答案就為它。
當axis=1時,對每個一維陣列降維後分別進行min運算,得到的結果都分別是乙個標量,為11,16,21,26,31,因為axis=1,所以回溯後這些結果會被追加到列表中,所以最終結果為[11, 16, 21, 26, 31]。
極差:乙個陣列中的最大值-最小值
import numpy as np
np.random.seed(
20200623
)x = np.random.randint(0,
20, size=[4
,5])
print
(x)# [[10 2 1 1 16]
# [18 11 10 14 10]
# [11 1 9 18 8]
# [16 2 0 15 16]]
print
(np.ptp(x)
)# 18
print
(np.ptp(x, axis=0)
)# [ 8 10 10 17 8]
print
(np.ptp(x, axis=1)
)# [15 8 17 16]
import numpy as np
np.random.seed(
20200623
)x = np.random.randint(0,
20, size=[4
,5])
print
(x)# [[10 2 1 1 16]
# [18 11 10 14 10]
# [11 1 9 18 8]
# [16 2 0 15 16]]
print
(np.percentile(x,[25
,50])
)# [ 2. 10.]
print
(np.percentile(x,[25
,50], axis=0)
)# [[10.75 1.75 0.75 10.75 9.5 ]
# [13.5 2. 5. 14.5 13. ]]
print
(np.percentile(x,[25
,50], axis=1)
)# [[ 1. 10. 8. 2.]
# [ 2. 11. 9. 15.]]
import numpy as np
np.random.seed(
20200623
)x = np.random.randint(0,
20, size=[4
,5])
print
(x)# [[10 2 1 1 16]
# [18 11 10 14 10]
# [11 1 9 18 8]
# [16 2 0 15 16]]
print
(np.percentile(x,50)
)print
(np.median(x)
)# 10.0
print
(np.percentile(x,
50, axis=0)
)print
(np.median(x, axis=0)
)# [13.5 2. 5. 14.5 13. ]
print
(np.percentile(x,
50, axis=1)
)print
(np.median(x, axis=1)
)# [ 2. 11. 9. 15.]
import numpy as np
x = np.array([[
11,12,
13,14,
15],[
16,17,
18,19,
20],[
21,22,
23,24,
25],[
26,27,
28,29,
30],[
31,32,
33,34,
35]])
y = np.mean(x)
print
(y)# 23.0
y = np.mean(x, axis=0)
print
(y)# [21. 22. 23. 24. 25.]
y = np.mean(x, axis=1)
print
(y)# [13. 18. 23. 28. 33.]
mybatis學習第3天
一 resultmap與resulttype的用法 2 resultmap用於自定的手動定義屬性和結果集中的列名的對映 resulttype用於屬性和列名能自動一一對應的對映 3 二者都只反映一一對應的關係,並不返回值。一對多關係 需要多的一方記住少的一方 在少的一方定義乙個集合用於封裝多的一方,介...
Linux學習第3天
目錄 高階命令 grep文字搜尋工具 系統命令 檢視 殺死程序的方式 netcat 管道符 作用 前乙個命令輸出結果,作為後乙個命令的輸入 對於前乙個命令的錯誤沒有處理能力 ls help more df lh 檢視硬碟容量和剩餘空間 free h 檢視記憶體狀況 ps process顯示所有程序以...
java學習筆記 第3天
sys as sysdba sys使用者可以建立其他的使用者 create user user01 identified by u01 建立乙個使用者,口令為u01 alter user user01 identified by us01 更改使用者的口令為us01 password 只有擁有dba...