我想用另一个数组nparray2 = np.array([8,7,4])
中的值替换数组nparray1 = np.array([1, 1, 0, 0, 1])
中的“1”,以生成nparray1 = np.array([8, 7, 0, 0, 4])
。
我希望尽可能高效地完成这个过程,因此我认为使用列表解析是最好的选择,然而,我无法找到一种方法来完成这个过程。
nparray1 = np.array([1, 1, 0, 0, 1])
nparray2 = np.array([8,7,4])
for i in range(len(nparray1)):
if nparray1[i]==True:
nparray1[i] = nparray2[0]
nparray2 = nparray2[1:]
2条答案
按热度按时间hmtdttj41#
您可以用途:
eufgjt7s2#
或者,我认为您也可以跟踪idx变量,只有当您在第一个numpy数组中看到1时才递增该变量。
或者可选地,通过使用X1MON1X: