python中的sum函式 sum axis 1

2021-08-04 16:26:03 字數 1271 閱讀 3463

我們平時用的sum應該是預設的axis=0 就是普通的相加,而當加入axis=1以後就是將乙個矩陣的每一行向量相加

axis=0, 表示列。

axis=1, 表示行。

對於向量:

>>> 

import numpy as np

>>> np.array([0, 2, 1])

array([0, 2, 1])

>>> b.sum()

3>>> b.sum(axis=0)

3>>> b.sum(axis=1)

traceback (most recent call last):

file "", line 1, in

file "c:\program_software\anaconda\lib\site-packages\numpy\core\_methods.py", line 32, in _sum

return umr_sum(a, axis, dtype, out, keepdims)

valueerror: 'axis' entry is out of bounds

>>>

可見對於向量來說只有0軸,沒有1軸,即預設是列的儲存形式,類似matlab裡的向量形式

對於矩陣:

>>> a = np.array([[0, 2, 1]])

>>> a.sum()

3>>> a.sum(axis=0)

array([0, 2, 1])

>>> a.sum(axis=1)

array([3])

>>>

對比可以看出向量和矩陣得到的結果不同

>>> c=array([[0, 2, 1], [3, 5, 6], [0, 1, 1]])

>>> c.sum(axis=1)

array([ 3, 14, 2])

>>> c.sum(axis=0)

array([3, 8, 8])

>>> c.sum()

19

對於矩陣axis=0, 表示列;axis=1, 表示行

sum()表示所有的矩陣元素之和

下圖暫且稱為矩陣的切片圖吧。。

python中的sum函式 sum axis 1

看起來挺簡單的樣子,但是在給sum函式中加入引數。sum a,axis 0 或者是.sum axis 1 就有點不解了 在我實驗以後發現 我們平時用的sum應該是預設的axis 0 就是普通的相加 而當加入axis 1以後就是將乙個矩陣的每一行向量相加 例如 import numpy as np n...

python中的sum函式 sum axis 1

看起來挺簡單的樣子,但是在給sum函式中加入引數。sum a,axis 0 或者是.sum axis 1 就有點不解了 在我實驗以後發現 我們平時用的sum應該是預設的axis 0 就是普通的相加 而當加入axis 1以後就是將乙個矩陣的每一行向量相加 例如 import numpy as np n...

python中的sum函式 sum axis 1

axis 0,表示列。axis 1,表示行。看起來挺簡單的樣子,但是在給sum函式中加入引數。sum a,axis 0 或者是.sum axis 1 就有點不解了 在我實驗以後發現 我們平時用的sum應該是預設的axis 0 就是普通的相加 而當加入axis 1以後就是將乙個矩陣的每一行向量相加 例...