欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

numpy多維數(shù)組索引問題

 更新時間:2023年05月10日 09:48:51   作者:dandeseed  
這篇文章主要介紹了numpy多維數(shù)組索引的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

numpy多維數(shù)組索引

切片索引

python的numpy中的多維數(shù)組,有時候需要定位到數(shù)組中的某些區(qū)域元素的位置。

  • 一維

一維數(shù)組很簡單,我們可以直接指定索引,或者使用切片索引。

比如: data[0],這時候輸出單個具體數(shù)值,沒有維度

data[:3],這時候輸出一個一維的子數(shù)組

  • 二維

二維數(shù)組也不難理解

data[0,1] 定位一個指定的具體數(shù)值,沒有維度

data[0,:]定位一維數(shù)組

data[:,:] 定位二維數(shù)組

  • 三維

三維數(shù)組有些難以理解,之前遇到的三維數(shù)組有點蒙圈,現(xiàn)在重點理解一下。

比如現(xiàn)在創(chuàng)建一個三維數(shù)組

array([[[ 0, ?1, ?2],
? ? ? ? [ 3, ?4, ?5],
? ? ? ? [ 6, ?7, ?8]],
? ? ? ?[[ 9, 10, 11],
? ? ? ? [12, 13, 14],
? ? ? ? [15, 16, 17]],
? ? ? ?[[18, 19, 20],
? ? ? ? [21, 22, 23],
? ? ? ? [24, 25, 26]]])

data[:,:,1] 會定位輸出一個二維數(shù)組,具體怎么輸出這個二維數(shù)組呢,我們把第一列的索引看作第一維,第二列索引看作第二維,第三列索引看作第三維,第三維是個確定的索引,所以我們的第三維數(shù)組將會降維的一個具體的值,最后得到的二維數(shù)組將會是第一維和第二維組成的一個二維數(shù)組。

array([[ 1, ?4, ?7],
? ? ? ?[10, 13, 16],
? ? ? ?[19, 22, 25]])

同理data[:,1,1]會定位輸出一個一維數(shù)組,他的輸出是:

array([ 4, 13, 22])

四維

四維和三維類似,具體到哪個維度的索引我們就降維哪一維

布爾索引

一維

多維數(shù)組的索引與切片(基于numpy)

根據(jù)我的理解,關于多維數(shù)組的索引與切片,不需要可以去記他的模式,這一小塊,唯一需要理解的是這個多維數(shù)組的shape.只要把這個概念真正理解了,關于索引與切片問題迎刃而解了;

首先初始化上面的這樣一個多維數(shù)組x,觀察其x的數(shù)組結構,然后看x.shape=(2,3,3). 觀察這個結果,其實含義可以理解為,后面的(3,3)是一個矩陣,表示其行數(shù)與列數(shù),前面的2表示到底有幾個這樣的矩陣。你再查看其x的表示結構,是不是很好理解了。

那么現(xiàn)在我們要利用索引方式取特定位置上的數(shù),注意其索引是從0開始的,那么取幾個索引,看看是不是理想的結果、

根據(jù)理解,x[0][2][1]表示取第一個矩陣中,第三行第二列的數(shù)字。(注意索引是從0開始的)

如果上面的你真正理解,那么切片也不是什么困難的,下面來切一下:

基于上面的結果,這里做了兩個切片。(注意切片的值。如1:3,  實際上只能取1,2  這里要注意)

其中一個切片為x[1][0][1:3]  實際上可以理解為我要在第二個矩陣中做切片。怎么切那? 取第一行的1~2列、、看看結果、、(還是要注意索引從0開始哦)

另外一個切片是x[0][2][:2]

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論