我有三个 numpy 数组,如下所示:
A = [1, 2, 3, 4, 5]
B = [0, 1, 0, 0, 1]
C = [30, 40]
我想替换 A 中的元素,它们在 B 中的等价元素等于 1。对于上面的示例,我想得到:
A = [1, 30, 3, 4, 40]
在 MATLAB 中,我可以这样做:
A(B==1) = C'
你知道 Python 中的等效代码吗(最好是当 A 和 B 也是多维时有效的代码)?提前致谢。
最佳答案
语法非常相似:
>>> 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])
关于python 相当于 MATLAB 语句 A(B==1)= C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24377095/