numpy中三維陣列中加入元素後的位置詳解

2022-09-26 19:36:17 字數 1377 閱讀 5731

今天做資料處理時,遇到了從三維陣列中批量加入二維陣列的需求。其中三維陣列在深度學習的特徵資料處理時經常會使用到,所以讀者有必要對該小知識點做到清楚了解並掌握。現對三維陣列中的元素位置結合**做詳細歸納總結,方便日後查閱和為網友答疑!

圖示效果圖:

直接貼**:

psqzjhnp

def test3d():

import numpy as np

data_array = np.zeros((3, 5, 6), dtype=np.int)

data_array[1, 2, 2] = 1

print(data_array)

介紹:通過np.zeros建立乙個3行5列6個通道的三維陣列,並給第二個通道的第一行第二列賦值1.

執行結果圖:

分析:有執行結果可知,建立了六個通道,在深度學習中這六個通道相當於六個feature map,對應結果圖中的六列。

再向外看一層,共有三個塊,每個塊代表這個通道的第幾行資料。

每個塊裡有五行資料,每一行代表每個通道的第幾列資料

所以,**中的賦值語句: data_array[1, 2, 2] = 1

表示為第2個通道,下標從0開始,所以在圖中位置為第三列;第1行第2列,下標從0開始,所以圖中表示第二個塊的第三行;即為圖中所示位置。

補充:psqzjhnp三維陣列的求和

多維陣列的軸(axis=)是和該陣列的size(或者shape)的元素是相對應的;

>>> np.random.seed(123)

>>> x = np.random.randint(0, 5, [3, 2, 2])

>>> print(x)

[[[5 2]

[4 2]]

[[1 3]

[2 3]]

[[1 1]

[0 1]]]

>> x.sum(axis=0)

array([[7, 6],

[6, 6]])

>>> x.sum(axis=1)

array([[9, 4],

[3, 6],

[1, 2]])

>>> x.sum(axis=2)

array([[7, 6],

[4, 5],

[2, 1]])

如果將三維陣列的每乙個二維看做乙個平面(plane,x[0, :, :], x[1, :, :], x[2, :www.cppcns.com, :]),三維陣列即是這些二維平面層疊(stacked)出來的結果。則(axis=0)表示全部平面上的對應位置,(axis=1),每乙個平面的每一列,(axis=2),每乙個平面的每一行。

本文標題: numpy中三維陣列中加入元素後的位置詳解

本文位址: /jiaoben/python/289314.html

c c 中三維陣列的傳遞

include include using namespace std const int x 10 const int y 10 const int z 10 int bar double arr y z int main cout foo 0 0 0 endl 1.0 bar foo syste...

Webg中三維座標

1 webgl座標系 在現實世界中,所有的事物都是三維的的,而計算機螢幕顯示的是二維的圖形,將三維和二維聯絡在一起的紐帶就是座標。webgl處理的是三維圖形,所以它使用三維座標系統,具有x軸 y軸 z軸。當你面像計算機螢幕時,x軸是水平的 正 方向為右 y軸是垂直的 正方向為下 z軸垂直於螢幕 正方...

python三維座標 python中三維輪廓的座標

感謝在這個 上獲得的知識。我能寫乙個簡單的指令碼,列印出等高線圖的座標 x和y 在 下面是乙個例子 from numpy import from pylab import generate a set of random points npts 500 phi random npts 2 pi th...