簡體   English   中英

3D Arrays Numpy 中的關節和組合

[英]Arthimatic and combining in 3D Arrays Numpy

假設我有一個 3D 數組 x:

x = np.arange(0, 24).reshape(4, 3, 2)

output: 
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]]])

如果我想明智地連接這一行的副本,但每次我想在每對內部的第一個元素上加 1,我該怎么做?

我可以連接 1x

np.concatenate([x, x], axis=0)

大概我可以在一個循環中做到這一點(盡管在 Numpy 中可能有更好的方法)。 但是我不知道如何+1。

這允許我將 1 添加到所有元素,但是我只有一個 3x4 的值矩陣 +1 並且我沒有單元格的 rest!

x[:,:,0] + 1

output:
array([[ 1,  3,  5],
   [ 7,  9, 11],
   [13, 15, 17],
   [19, 21, 23]])

感覺這是一個以前必須問過的問題? 但是我找不到足夠的關於多維 arrays 的算法或切片的材料。

謝謝

只需連接和修改:

a = np.concatenate([x, x], axis=0)
a[x.shape[0]:,:,0] += 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM