Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NumPy:需要一个函数,其中:f(目标数组、标记数组、一些数字)->;目标数组,带有一些数字填充的标记_Python_Arrays_Numpy - Fatal编程技术网

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设计师实现它的方式:)