Arrays 如何在数组3的索引处使用数组2的值将值填充到数组1中?

Arrays 如何在数组3的索引处使用数组2的值将值填充到数组1中?,arrays,python-3.x,numpy,dictionary,pad,Arrays,Python 3.x,Numpy,Dictionary,Pad,我正在尝试将值填充到numpy数组。数组最初是由一个填充的,我的目标是用另一个数组中的值覆盖指定索引中的一个值 import numpy as np # get initial array of ones mask = np.ones(10) # get values to overwrite ones at indices values = [10, 30, 50.5] # get indices for which values will replace ones idx_pad = [1

我正在尝试将值填充到numpy数组。数组最初是由一个填充的,我的目标是用另一个数组中的值覆盖指定索引中的一个值

import numpy as np
# get initial array of ones
mask = np.ones(10)
# get values to overwrite ones at indices
values = [10, 30, 50.5]
# get indices for which values will replace ones 
idx_pad = [1, 6, 7]

print(mask)
>> [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
我想得到的是:

>> [ 1  10  1  1  1  1  30  50.5  1  1 ]

我认为有一种方法可以使用
OrderedDict
来实现这一点,尽管我仍在努力解决这个问题。我还希望有一种通过
numpy
的快速方法。我希望将此示例应用于我的实际数据集,其中
len(idx_pad)=10322
len(mask)=69268
。任何帮助都将不胜感激。

这是通过@Divakar提供的解决方案

import numpy as np
# get initial array of ones
mask = np.ones(10)
# get values to overwrite ones at indices
values = [10, 30, 50.5]
# get indices for which values will replace ones
idx_pad = [1, 6, 7]

print(mask)
>> [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]

# replace values at indices in idx_pad
mask[idx_pad] = values

print(mask)
>> [  1.   10.    1.    1.    1.    1.   30.   50.5   1.    1. ]

mask[idx_pad]=values
?我没有意识到我可以像那样使用多个索引,我错误地认为只有一个值可以像那样传递。谢谢如果你作为答案发布,我会接受。我会鼓励你在自我回答的帖子中发布你的发现。