仅在选定的indeces处添加具有另一个numpy数组的numpy数组

时间:2018-04-18 21:22:51

标签: python arrays numpy

我想使用indeces选择性地将数组中的某些元素添加到另一个数组中。这是否可以在不使用if语句的情况下实现?例如:

import numpy as np

x = np.array([1., 2., 3., 4., 5.])
y = np.array([1., 1., 1., 1., 1.])
idx = np.array([1, 3])

res = np.add(x,y[idx])

print res

如果不使用if语句,如何获得[1., 3., 3., 5., 5.]的预期结果?

1 个答案:

答案 0 :(得分:0)

广播考虑了作业的双方

x = np.array([1., 2., 3., 4., 5.])
y = np.array([1., 1., 1., 1., 1.])
idx = np.array([1, 3])

x[idx] += y[idx]

x
Out[3]: array([1., 3., 3., 5., 5.])