numpy中的陣列整體處理賦值操作一直讓我有點迷糊,很多時候理解的不深入。今天單獨列寫相關的知識點進行總結一下。
先看兩個**片小例子:
例子1:
in [2]: arr =np.empty((8,4))
in [3]: arr
out[3]:
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
in [4]: arr[1] = 1
in [5]: arr
out[5]:
array([[ 0., 0., 0., 0.],
[ 1., 1., 1., 1.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
例子2:
in [6]: arr1 =np.empty(2)
in [8]: arr1
out[8]:array([ 7.74860419e-304, 7.74860419www.cppcns.come-304])
in [9]: arr1 = 0
in [10]: arr1
out[10]: 0
這兩段看上去似乎出現了行為不一致,其實利用一般物件導向的標籤理解模型還是能夠理解的。
例子1中,加上了索引之後的標籤其實指代的就是具體的儲存區,而例子2中,直接使用了乙個標籤而已。那麼這樣如何實現對乙個一維陣列的全體賦值呢?其實只需要進行全部元素的索引即可,
具體方法實現如下:
in [11]: arr1 =np.empty(2)
in [12]: arr1
out[12]: array([0., 0.])
in [13]: arr1[:]
out[13]: array([0., 0.])
isfeixkbn [14]: arr1[:] =0
in [15]: arr1
out[15]: array([0., 0.])
看起來似乎蠻簡單,但是不做一下稍微深入一點的分析,理解起來確實是還有一點點難度。
本文標題: 對numpy中陣列元素的統一賦值例項
本文位址: /jiaoben/python/224437.html
numpy 獲取array中陣列元素的索引位置
原 numpy 獲取array中陣列元素的索引 2017年08月05日 10 36 59 1.函式原型 argwhere array 找到非空陣列array在滿足某些條件下的索引,返回索引陣列。2.應用 2.1 一維陣列 返回乙個一維陣列,代表當前滿足條件的元素出現的位置。python view p...
numpy建立陣列元素的獲取
import numpy as np arr np.array np.arange 12 reshape 3,4 print arr print arr 0 獲取二維陣列的第一行 print arr 1 獲取二維陣列的第二行 print arr 3 獲取二維陣列的前三行 print arr 0,2 ...
基於numpy中陣列元素的切片複製方法
程式設計客棧1 usr bin python import numpy as np arr1 np.arange 10 print arr1 slice datwww.cppcns.coma arr1 3 5 print slice data slicewww.cppcns.com data 0 1...