Первые вещи первых: это не является дубликатом NumPy: calculate averages with NaNs removed, я объясню, почему:питон NumPy среднем с NaNs
Предположим, у меня есть массив
a = array([1,2,3,4])
, и я хочу, чтобы усреднить его весы
weights = [4,3,2,1]
output = average(a, weights=weights)
print output
2.0
ok. Так что это довольно просто. Но теперь у меня есть что-то вроде этого:
a = array([1,2,nan,4])
расчета в среднем с обычным методом доходности конечно nan
. Могу ли я избежать этого? В принципе я хочу, чтобы игнорировать пренебрежимо малых, так что я хотел бы иметь что-то вроде этого:
a = array([1,2,4])
weights = [4,3,1]
output = average(a, weights=weights)
print output
1.75
спасибо, это работает! – wa4557
+1, хотя я думаю, что 'indices = ~ np.isnan (a)' выглядит лучше (а для огромного 'a' может быть быстрее). – mtrw
@mtrw Это, безусловно, выглядит лучше, обновит мой ответ. Благодарю. –