python numpy中axis的含義
阿新 • • 發佈:2019-01-01
不同的程式語言對於多維陣列的索引方式往往不太一樣,下面主要講一下python numpy裡面axis的含義
numpy當中axis的值表示的是這個多維陣列維度的下標,比如有一個二維陣列a,a的shape是(5,6),也就是說a有5行6列,axis=0表示的就是[5,6]中的第一維,也就是行,axis=1表示的是[5,6]中的第二個維度,也就是列。
通常numpy裡面的一些降維操作(aggregate functions)需要我們指定對應的維度,比如sum函式表示對哪個維度求和,max表示對哪個維度求最大值。通常當我們在這些函式裡面指定了axis=n時,那麼函式輸出的陣列當中,原來的第n維就被消除了,比如下面的例子:
# 建立一個矩陣a,a的維度為2行3列
>>> a = np.array([[1,2,3],[4,5,6]])
>>> print a
[[1 2 3]
[4 5 6]]
>>> print a.shape
(2, 3)
# b表示沿著axis=0(行)這條軸取max,得到的結果就是把輸入陣列的'行'給消除了,2行變1行
>>> b = a.max(axis=0)
>>> print b
[4 5 6]
>>> print b.shape
(3,)
# c表示沿著axis=1(列)這條軸取max,得到的結果就是把輸入陣列的'列' 給消除了,3列變1列
>>> c = a.max(axis=1)
>>> print c
[3 6]
>>> print c.shape
(2,)