我有两个numpy数组:myarray
和mask
,它们都是双向数组(仅限1和0)。
之间有什么区别
myarray[mask] = 0
和
myarray = np.where( mask, 0, myarray )
? 因为我得到了不同的结果,无法弄清楚原因。
答案 0 :(得分:3)
由于你说mask
包含1和0,问题是NumPy将这些视为索引而不是掩码。您可能希望mask
为布尔类型(True / False),在这种情况下,它可以与myarray
的长度相同,并将选择mask
为True的元素。 / p>
np.where()
总是将第一个参数视为布尔数组,因此它可能已经完成了你想要的。