【发布时间】:2015-05-25 16:46:36
【问题描述】:
我有一个 2d numpy 数组,例如:
[[1, 2, 3, 4, 5 ]
[6, 7, 8, 9, 10]
[11,12,13,14,15]
[16,17,18,19,20]
[21,22,23,24,25]
[26,27,28,29,30]]
我想用其他行的一部分覆盖某些行的一部分。例如,我想用第 0 行的第 2 和第 3 值覆盖第 1 行的第 2 和第 3 值。行只能是“捐赠者”或“接受者”,不能同时是两者。
到目前为止,我设置的方式是一维数组,将某些行标记为“捐助者”,例如
`donors = np.array([0,2])
以及将某些行标记为收件人的一维数组,例如
`recips = np.array([1,3])
和一个指定要覆盖的位置的数组,例如
`positions_to_overwrite = np.array([2,3],[3,4]])
所以我想在这里发生的是第 1 行的第 2 和第 3 值(从零开始计数)被第 0 行的第 2 和第 3 值覆盖,第 3 行的第 3 和第 4 值被覆盖通过第 2 行的第 3 和第 4 个值。这会给我:
[[1, 2, 3, 4, 5 ]
[6, 7, 3, 4, 10]
[11,12,13,14,15]
[16,17,18,14,15]
[21,22,23,24,25]
[26,27,28,29,30]]
希望这是有道理的。如果解决方案涉及以不同/更好的方式表示有关应该从一行传输到另一行的信息,那完全没问题。
【问题讨论】: