我正在编写一个程序,在2个numpy数组上进行计算,但计算只在不少于4
个元素上执行,例如:
Input:
array1 = np.array([[4, 4, 6], [2, 3, 9]])
array2 = np.array([1, 1, 2])
Output:
([5, 9])
Explanation:
For the first element, the calculation is (4*1 + 4*1 + 6*2) / (1 + 1 + 2) = 5
For the second element, the calculation is (9*2) / 2 = 9 (because 2 and 3 are less than 4)
因此,我try 将小于4
的数字转换为0
作为分子:
def function(array1, array2):
return np.sum(np.where(array1 >= 4, array1 * array2, 0), axis=1)
但对于分母,如果array1
中的元素小于4
,我不知道如何将数字转换为0
.有人能帮我解决这个问题吗?谢谢你的帮助!