Python NumPy:需要一个函数,其中:f(目标数组、标记数组、一些数字)->;目标数组,带有一些数字填充的标记
我正在拼命解决这个问题 以下是一个例子:Python NumPy:需要一个函数,其中:f(目标数组、标记数组、一些数字)->;目标数组,带有一些数字填充的标记,python,arrays,numpy,Python,Arrays,Numpy,我正在拼命解决这个问题 以下是一个例子: 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
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引用的索引,并用一个数字替换它
显然这是不正确的:A[B]=A个数。。。但它代表了我试图实现的矢量化方法
是的,我可以通过for循环来实现这一点,但是有没有一种数组广播方式来实现这一点
谢谢你的帮助 必须为两个轴提供索引:
A[np.arange(len(A)), B.flat] = aNumber
非常感谢。这对我有用!你能告诉我为什么这样不行吗:A[:,B.flat]=aNumber?@Moose-语法
A[:,[0,1,1]]
选择整列;第一列和第二列的两倍。不能使用它来设置每行的单个值。您的方式也有道理,但这不是numpy设计师实现它的方式:)