標籤:

神奇的Numpy計算

對於具有相同維度與長度的兩個數組,其相加結果為對應位置上元素之和構造的矩陣:

import numpy as npa=np.array([3,4,5])b=np.array([1,2,3])print a+b[4 6 8]

數組與數字相加:

a+5array([ 8, 9, 10])

多維數組與一維行數組相加:該多維數組每一行的數加上該一維行數組

c=np.arange(9).reshape(3,3)print "c is
",cprint "a is
",aprint "c+a is
",c+ac is[[0 1 2] [3 4 5] [6 7 8]]a is[3 4 5]c+a is[[ 3 5 7] [ 6 8 10] [ 9 11 13]]

列數組也是同理

c=np.arange(9).reshape(3,3)a=np.array([3,4,5])a=a[:,np.newaxis]#expand dimensionprint "c is
",cprint "a is
",aprint "c+a is
",c+ac is[[0 1 2] [3 4 5] [6 7 8]]a is[[3] [4] [5]]c+a is[[ 3 4 5] [ 7 8 9] [11 12 13]]

一個行向量數組與一個列向量數組相加:相當於對於[3,4,5],然後對於其生成三行,每一行加以b的每一個數

a=np.array([3,4,5])b=np.array([1,2,3])[:,np.newaxis]print "a is
",aprint "b is
",bprint "a+b is
",a+ba is[3 4 5]b is[[1] [2] [3]]a+b is[[4 5 6] [5 6 7] [6 7 8]]

不同維度的多維數組相加就會出錯

推薦閱讀:

Python 中 a+=b 和 a=a+b 的區別有哪些?
基於Python實現Windows下壁紙切換功能
關愛女性健康,從我做起
學習python寫入文件 & 完善異常處理
抓取1400篇Python文章後的故事(內附高質量Python文章推薦)

TAG:Python |