Saltar al contenido

np.mean () vs np.average () en Python NumPy?

Solución:

np.average toma un parámetro de peso opcional. Si no se suministra son equivalentes. Eche un vistazo al código fuente: Mean, Average

np. significa:

try:
    mean = a.mean
except AttributeError:
    return _wrapit(a, 'mean', axis, dtype, out)
return mean(axis, dtype, out)

np. promedio:

...
if weights is None :
    avg = a.mean(axis)
    scl = avg.dtype.type(a.size/avg.size)
else:
    #code that does weighted mean here

if returned: #returned is another optional argument
    scl = np.multiply(avg, 0) + scl
    return avg, scl
else:
    return avg
...

np.mean siempre calcula una media aritmética y tiene algunas opciones adicionales para la entrada y salida (por ejemplo, qué tipos de datos usar, dónde colocar el resultado).

np.average puede calcular un promedio ponderado si el weights se proporciona el parámetro.

En alguna versión de numpy hay otra diferencia importante que debes tener en cuenta:

average no tenga en cuenta las máscaras, así que calcule el promedio de todo el conjunto de datos.

mean tiene en cuenta las máscaras, por lo tanto, calcule la media solo sobre los valores no enmascarados.

g = [1,2,3,55,66,77]
f = np.ma.masked_greater(g,5)

np.average(f)
Out: 34.0

np.mean(f)
Out: 2.0
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *