2
有值的一維數組:如何在Python numpy的二維數組上應用1D蒙版?
arr0 = numpy.array([8,0,9,5])
還有另一個2D陣列,其形狀是(len(arr0),3)
:
arr1 = numpy.array([9,5,6],
[2,7,4],
[6,7,8],
[1,8,3])
我想創建的arr1
掩蔽陣列,其中arr1[i]
是如果arr0[i] == 0
掩蔽:
Result arr2 = [[9,5,6],
[-,-,-],
[6,7,8],
[1,8,3]]
什麼是優雅的方式創建這個新的蒙面陣列?
我知道我可以使用形狀(len(arr0),3)
的面具來創建它。我希望我可以使用只是(len(arr0))
的形狀的面具來創建它。
爲什麼是否有任何問題只是製作一個像'(arr0 * np.ones((arr1.shape [1],1)))。'T' – wim 2013-04-26 05:08:42
@askewchan這與問題不一樣。它沒有一個一維數組,其值用於從二維數組中提取遮罩數組。 – 2013-04-26 05:57:03