首頁  >  文章  >  後端開發  >  對numpy中數組元素的統一賦值實例

對numpy中數組元素的統一賦值實例

不言
不言原創
2018-04-04 16:54:563352瀏覽

下面小編就為大家分享一篇對numpy中陣列元素的統一賦值實例,具有很好的參考價值,希望對大家有幫助。一起跟著小編過來看看吧

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.74860419e-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.])
 
In [14]: arr1[:] =0
 
In [15]: arr1
Out[15]: array([0., 0.])


看起來似乎蠻簡單,但是不做一下稍微深入一點的分析,理解起來確實是還有一點點難度。

相關推薦:

淺談numpy數組的幾個排序方式_python

numpy數組拼接簡單範例_ python

#########

以上是對numpy中數組元素的統一賦值實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn