使用另一个2D数组作为索引将值分配给2D数组

guoyili

我有一个2d mxn数组A和另一个2D qxp数组B。我想在B中列出的每个坐标上给A赋值1。

我知道我首先可以在轴= 0处获得b的长度,然后编写一个循环来完成它,例如A [B [i,0]] [b [i,1]] = 1;但是我正在处理一个大数据集,我想看看是否有任何方法可以在没有for循环的情况下执行此操作。

Iamchoosinganame

您可以通过将B的列作为A的索引传递来直接分配值。不需要遍历B的行。

A[B[:,0],B[:,1]]=1

这是一个更详细的示例

A=np.zeros((4,4))

array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])

B=np.array([[2,1],[2,2],[0,2],[3,0]])

array([[2, 1],
       [2, 2],
       [0, 2],
       [3, 0]])

# directly pass each of the columns of B as indices of A
A[B[:,0],B[:,1]] = 1

print(A)

array([[0., 0., 1., 0.],
       [0., 0., 0., 0.],
       [0., 1., 1., 0.],
       [1., 0., 0., 0.]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否将值明确分配给2D数组?

如何将值数组作为键分配给另一个值数组?

通过使用索引将值分配给2D矢量

Excel VBA-将2D数组的值分配给单元格范围

如何使用布尔行的2D数组过滤另一个2D数组?

Python:列表索引超出范围(将2D列表分配给另一个2D列表)

如何将2D numpy数组映射到带有另一个2D数组作为映射的1D数组上?

使用NumPy从另一个数组及其索引创建2D数组

numpy:将值分配给带有索引列表的2d数组

numpy将2d数组的列分配为另一个数组的索引列的总和

在C ++中将数组的值分配给另一个数组的索引

从另一个数组更新numpy 2d数组索引

从numpy中另一个多维数组中的2D索引数组创建多维数组

如何查找在另一个2d数组中出现的2d numpy数组的索引

设置2D数组值会覆盖C中的另一个值

根据另一个2D数组重新排序2D数组

将2d数组的元素乘以另一个2d数组的元素的方法

将2d字符数组复制到另一个2d字符数组

将元素分配给2D列表也会更改另一个列表

将2D数组存储在另一个数组中-Java

如何将字符串中的值分配给2d数组?

将2D数组函数返回值分配给新的numpy数组

通过将动态2D数组传递给另一个函数来分配它

将迭代器解引用为2D向量并将其值分配给另一个2D向量

python使用较小的2D数组与另一个较大的数组进行映射

使用jQuery将2D数组值分配给HTML表

使用numpy数组将值分配给另一个数组

使用循环将值分配给2d数组

使用 Java 8 Stream 将 null 替换为 2D String 数组中的另一个值