簡體   English   中英

分配給給定行和列索引的 NumPy 數組的網格

[英]Assign into a grid of a NumPy array given row and column indices

我想訪問二維 numpy 數組的特定行和列限制。

> x
array([[1, 2, 0],
       [3, 4, 0],
       [0, 0, 1]])

如果我做看起來很自然的事情,我只會得到受限數組的對角線元素。

> x[[0,1], [0,1]]
array([1, 4])

相反,我可以這樣做來閱讀我想要的內容-

> x[[0,1],:][:,[0,1]]
array([[1, 2],
       [3, 4]])

..但它不允許我寫入/分配值。

> x[[0,1],:][:,[0,1]] = np.array([[1,0],[0,1]])

> x 
array([[1, 2, 0],
       [3, 4, 0],
       [0, 0, 1]])

我如何在這里寫入矩陣?

使用np.ix_來映射元素網格,然后分配 -

x[np.ix_([0,1], [0,1])] = np.array([[1,0],[0,1]])

這也有效:

x[:2, :2] = np.array([[1, 0], [0, 1]])

暫無
暫無

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

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