簡體   English   中英

關於特定數組及其最終形狀的 Numpy 花式索引問題?

[英]Numpy fancy indexing question about specific array and its final shape?

X = np.arange(12).reshape((3, 4)) => shape (3,4)
row = np.array([0, 1, 2])
row[:, np.newaxis] => shape (3,1)

X[row[:, np.newaxis], :]  => shape (3,1,4)

誰能解釋這個最終形狀是如何發生的,當根據“廣播規則”廣播的索引形狀應該是最終形狀時?

  • X[i, :]X的第 i 行作為形狀數組(X.shape[1],)

  • X[[i], :]X的第 i 行作為形狀數組(1, X.shape[1])

  • X[[[i]], :]X的第 i 行作為形狀數組(1, 1, X.shape[1])

  • X[[[[i]]], :]X的第 i 行作為形狀數組(1, 1, 1, X.shape[1])

  • ...

如您所見,通過這種方式,您只是引入了額外的維度,輸出數組的形狀是索引數組的形狀 + X行的形狀。

現在, row[:, np.newaxis]array([[0], [1], [2]])並且具有形狀(3,1)並且 X 的每一行具有形狀(4,) 所以X[[[0], [1], [2]], :]返回打包成(3,1) + (4,) = (3, 1, 4)形狀數組的 X 的三行。

暫無
暫無

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

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