Я пытаюсь понять, как np.mean работает в следующем примере:Поймите np.mean в питона
n = np.array([1,7,5,4])
m = pd.Series(data = [1,2,3,4],index = [1,2,3,4])
print(np.mean(n!=m))
## returns 0.5
print(np.mean(n[n!=m]))
## returns 4.0
может кто-то объяснить, как первый выход прорабатывает значение 0,5 и как np.mean обрабатывает булевую серию n! = m? Я понимаю, что делает вторая часть.
Посмотрите на булевское индексирование NumPy для второй части и булевых массивов для первой части. – Divakar
Истина равна 1, а False - 0: n! = M - 1 False, 2 True, 3 True, 4 False, тогда среднее значение (False + True + True + False)/4 = (0 + 1 + 1+ 0)/4 = 0,5, но n [n! = M] - n [(False, True, True, False)] = n [(0, 1, 1, 0)] = [1, 7, 7, 1], тогда среднее значение (1 + 7 + 7 + 1)/4 = 4 – eyllanesc