1. 程式人生 > >python numpy中axis的含義

python numpy中axis的含義

不同的程式語言對於多維陣列的索引方式往往不太一樣,下面主要講一下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的維度為23列
>>> 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,)