1. 程式人生 > >numpy學習日記(三)

numpy學習日記(三)

numpy裡要分清有哪些方法獲得的陣列是原始陣列的檢視,這樣的陣列它們共享了同一個資料記憶體,修改其中一個數組內的元素,另外的也會發生變化
獲取素組序列有兩種方法
1:使用整數序列存取元素
使用下標獲取元素
使用此方法獲得的陣列將不再與其原始陣列共享同一個陣列
2:使用布林值存取元素
當bool值為True時,選取其下標相對應的元素,False則跳過
得到的陣列也不會共享資料
多維陣列
這裡寫圖片描述
深刻理解此圖
這是一個二維陣列
array(([0,1,2],
[3,4,5],
[6,7,8]))
a=numpy.arange(9).reshape(3,3)
在多維陣列中,因為有多個下標,所以用元組()來表示下標,但通常()可以省去,用’,’隔開就行
a[0,1]==a[(0,1)] ==a[0,[1]]#1 表示第0軸與第1軸的交點,只有一個數,不成陣列,直接賦值給了另一個物件,所以也不共享資料記憶體
a[0:3,1] #array([1,4,7])表示從第0軸的0開始到到第0軸的6,再取第一軸的第一列【1,4,7】,此方法獲得的陣列是原陣列的檢視
a[0:,[1]] 雖然得到的內容不變,但其性質發生了變化,這個方法算使用整數序列方法得到陣列,其不與原陣列共享記憶體