通过numpy数组隐式循环以替换值

时间:2017-03-29 03:11:30

标签: python loops replace implicit

我是python的新手,我正试图找到一种方法来隐式替换" array_to_replace"使用" values_to_use"中的两个值之一基于" array_of_positions":

中的值

首先,设置:

values_to_use = np.array([[0.5, 0.3, 0.4], [0.6, 0.7, 0.75]])
array_of_positions = np.array([0, 1, 1, 0, 1, 0, 0, 1, 0, 1])
array_to_replace = np.array([[5, 5, 4], [6, 5, 4], [1, 2, 3], [9, 9, 9], [8, 8, 8], [7, 7, 7], [6, 5, 7], [5, 7, 9], [1, 3, 5], [3, 3, 3]])

然后,蛮力的方式做我想要的,这是替换" array_to_replace"基于" array_of_positions"中的条件值,如下所示:

for pos in range(0, len(aray_to_replace)):
   if (array_of_positions[pos] == 0):
      array_to_replace[pos] = values_to_use[0]
   else:
      array_to_replace[pos] = values_to_use[1]

您是否有任何关于如何隐式执行此操作的建议?

1 个答案:

答案 0 :(得分:0)

这个问题的答案非常简单。为了得到我想要的东西,我需要做的就是以下几点:

print values_to_use [array_of_positions]

这给了我所需要的东西。