我有三个numpy数组如下:
A = [1, 2, 3, 4, 5]
B = [0, 1, 0, 0, 1]
C = [30, 40]
我想替换A中它们的等价物等于1的元素。对于上面的例子,我想得到这个:
A = [1, 30, 3, 4, 40]
在MATLAB中,我可以这样做:
A(B==1) = C'
您是否知道Python中的等效代码(最好是A和B也是多维的时候有效)?提前致谢。
答案 0 :(得分:1)
语法非常相似:
>>> import numpy as np
>>> A = np.array([1, 2, 3, 4, 5])
>>> B = np.array([0, 1, 0, 0, 1])
>>> C = np.array([30, 40])
>>> A[B==1] = C
>>> A
array([ 1, 30, 3, 4, 40])