我正在把头撞在墙上,试图解决这个问题。
这是一个例子:
A = [[3, 1, 2],
[1, 4, 3],
[8, 9, 6]] (the target array)
B = [[0],
[1],
[1]] (the array of indicies)
aNumber = 1.2222 (some number)
我正在尝试使用此结果的向量化方法:
A = [[1.2222, 1, 2],
[1, 1.2222, 3],
[8, 1.2222, 6]]
它接受A,转到B引用的索引,然后将其替换为aNumber。
显然这是不正确的:A [B] = aNumber ...但它表示即时通讯试图完成的矢量化方法
是的,我可以使用for循环来实现这一点,但是有没有一种数组广播的方式可以做到这一点?
谢谢您的帮助!
最佳答案
您必须提供两个轴的索引:
A[np.arange(len(A)), B.flat] = aNumber