我对这个问题有特定的要求。我需要它既简单又快速。
我的问题: 我有两个2D数组,我需要根据条件用2.数组中的值替换1.数组中的值。也就是说,如果1.数组中x,y位置的元素小于2.数组中x,y位置的元素,则将1.数组中的元素替换为2.数组中的元素。
我尝试了什么但没用:
import numpy as np
arr = np.random.randint(3,size=(2, 2))
arr2 = np.random.randint(3,size=(2, 2))
print(arr)
print(arr2)
arr[arr<arr2]=arr2 # Doesnt work.
这会引发TypeError:
TypeError:NumPy布尔数组索引分配需要0或1维输入,输入具有2维。
我看到,可以对列或行进行迭代,但是我相信无需迭代即可完成。
预先感谢