【发布时间】:2020-02-10 16:10:53
【问题描述】:
arr = np.zeros([5,5])
idx_arr = np.array([1,3,4])
arr[idx_arr, idx_arr] += 1
print(arr)
上面给出了以下输出:
array([[0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
我正在寻找以下输出:
array([[0., 0., 0., 0., 0.],
[0., 1., 0., 1., 1.],
[0., 0., 0., 0., 0.],
[0., 1., 0., 1., 1.],
[0., 1., 0., 1., 1.]])
在 R 中,这种形式的索引相当于:
df[c(1,2,3),c(1,2,3)]
这将产生一个 3 x 3 的数据框或矩阵子部分。
任何帮助将不胜感激!
【问题讨论】:
-
在这里广播。
arr[idx_arr[:, None], idx_arr] +=1
标签: python arrays numpy indexing