Contenido de este artículo
- 0
- 0
- 0
- 0
Puede utilizar la siguiente función para calcular un promedio ponderado en Pandas:
def w_avg (gl, valores, pesos): d = df [valores] w = df [pesos] volver (d * w). suma () / w. suma ()
Los siguientes ejemplos muestran cómo utilizar esta sintaxis en la práctica.
Ejemplo 1: Promedio ponderado en pandas
El siguiente código muestra cómo usar la función de promedio ponderado para calcular un promedio ponderado para un conjunto de datos dado, usando «precio» como valores y «cantidad» como ponderaciones:
importar pandas como pd #create DataFrame df = pd. DataFrame ({' sales_rep ': ['A', 'A', 'A', 'B', 'B', 'B'], ' precio ': [8, 5, 6, 7, 12, 14], ' cantidad ': [1, 3, 2, 2, 5, 4]}) #view DataFrame df monto del precio sales_rep 0 A 8 1 1 A 5 3 2 A 6 2 3 B 7 2 4 B 12 5 5 B 14 4 # encontrar el promedio ponderado del precio w_avg (gl, ' precio ', ' monto ') 9.705882352941176
El promedio ponderado de «precio» resulta ser 9,706 .
Ejemplo 2: Groupby y promedio ponderado en pandas
El siguiente código muestra cómo utilizar la función de promedio ponderado para calcular el promedio ponderado del precio, agrupado por representante de ventas:
importar pandas como pd #create DataFrame df = pd. DataFrame ({' sales_rep ': ['A', 'A', 'A', 'B', 'B', 'B'], ' precio ': [8, 5, 6, 7, 12, 14], ' cantidad ': [1, 3, 2, 2, 5, 4]}) # encontrar el promedio ponderado del precio, agrupado por representante de ventas df. groupby (' sales_rep '). aplicar (w_avg, ' precio ', ' monto ') sales_rep A 5.833333 B 11.818182 dtype: float64
Podemos ver lo siguiente:
- El promedio ponderado de «precio» para el representante de ventas A es 5.833 .
- El promedio ponderado del “precio del representante de ventas B es 11,818 .
Recursos adicionales
Cómo comparar dos columnas en pandas
Cómo calcular la suma de columnas en pandas
Cómo calcular la media de columnas en pandas
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: