[英]how to assign values to numpy array given the row indices and starting column indices?
[英]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.