神奇的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 |