In [30]: np.mean([1, 2, 3])
Out[30]: 2.0
In [31]: np.average([1, 2, 3])
Out[31]: 2.0
Sin embargo, debe haber algunas diferencias, ya que al fin y al cabo son dos funciones diferentes.
Cuáles son las diferencias entre ellos?
En realidad, la documentación no lo aclara de inmediato, por lo que puedo ver. No digo que sea imposible saberlo, pero creo que esta pregunta es válida para Stack Overflow de todos modos.
– BlackVegetal
18 de noviembre de 2013 a las 17:47
numpy.mean : Devuelve el promedio de los elementos de la matriz.
– joaquín
18 de noviembre de 2013 a las 17:47
@joaquin: “Calcule la media aritmética a lo largo del eje especificado”. vs “Calcular el promedio ponderado a lo largo del eje especificado”?
– Licuadora
19 de noviembre de 2013 a las 0:01
@Blender a la derecha. Solo estaba tratando de hacer una especie de respuesta graciosa a tu comentario porque si sigo tus instrucciones lo primero que leo en el documentos para numpy.mean es numpy.mean : Devuelve el promedio de los elementos de la matriz lo cual es divertido si está buscando la respuesta a la pregunta OP.
– joaquín
19 de noviembre de 2013 a las 16:05
Martillo
np.average toma un parámetro de peso opcional. Si no se suministra son equivalentes. Echa un vistazo al código fuente: Significar, 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
...
¿Por qué ofrecen dos funciones diferentes? Parece que deberían ofrecer np.average ya que weights ya es opcional. Parece innecesario y solo sirve para confundir a los usuarios.
– Geoff
30 de noviembre de 2015 a las 22:03
@Geoff Preferiría que lanzaran una NotImplementedException para “promedio”, para educar a los usuarios de que la media aritmética no es idéntica al “promedio”.
– FooBar
26 de junio de 2018 a las 11:15
np.mean siempre calcula una media aritmética y tiene algunas opciones adicionales para la entrada y la 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.
GM
En alguna versión de numpy hay otra diferencia importante que debes tener en cuenta:
average no tenga en cuenta las máscaras, calcule el promedio de todo el conjunto de datos.
mean tiene en cuenta las máscaras, por lo tanto, calcule la media solo sobre 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
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información
En realidad, la documentación no lo aclara de inmediato, por lo que puedo ver. No digo que sea imposible saberlo, pero creo que esta pregunta es válida para Stack Overflow de todos modos.
– BlackVegetal
18 de noviembre de 2013 a las 17:47
numpy.mean : Devuelve el promedio de los elementos de la matriz.
– joaquín
18 de noviembre de 2013 a las 17:47
@joaquin: “Calcule la media aritmética a lo largo del eje especificado”. vs “Calcular el promedio ponderado a lo largo del eje especificado”?
– Licuadora
19 de noviembre de 2013 a las 0:01
@Blender a la derecha. Solo estaba tratando de hacer una especie de respuesta graciosa a tu comentario porque si sigo tus instrucciones lo primero que leo en el documentos para numpy.mean es numpy.mean : Devuelve el promedio de los elementos de la matriz lo cual es divertido si está buscando la respuesta a la pregunta OP.
– joaquín
19 de noviembre de 2013 a las 16:05