簡體   English   中英

Python 3D 陣列索引

[英]Python 3D Array Indexing

我對以下內容感到困惑。

B = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(B[0,1,0])

這返回值 3。但我的期望是它應該返回 2,因為它是第一行、第二列、第一個“頁面”。

此外,我很困惑,因為我認為默認情況下 python 是行主要索引。 所以如果我做了np.ravel(B)我的期望是它應該讀出數字1 5 2 6 3 7 4 8 (最后一個索引,“頁面”,變化最快)。 但是,當我這樣做時,我會返回1 2 3 4 5 6 7 8

我錯過了什么?

就像在數學中一樣,你從最里面的parenthesis or brackets. .

B = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(B[0])
# > [[1 2]
#    [3 4]]

print(B[0][1])
# > [3 4]

print(B[0][1][0])
# > 3

二維或更多:

  • 最后一個維度-1是列的維度。
  • 它之前的維度-2是行的維度。

在 3 維或更多維中,維-3可以被認為是另一張薄片或某種堆疊的層。

在3D上面,它已經沒有意義了,那么我們最好提醒一下innermost is first條規則是通用的。

最后一個指數變化最快。 我認為您混淆了第一個和最后一個索引。

暫無
暫無

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

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