sum()
関数の where
で指定します.
numpy.sum — NumPy v1.26 Manual
import numpy as np a = np.array( [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], ] ) b = np.array( [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], ] ) v = a.sum(where=b.astype(bool)) print(v)
実行すると,1+6+11 = 18 が得られます.マスクしたデータを処理するときに便利です.