Cómo calcular un promedio ponderado en pandas

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

Deja un comentario

Un coeficiente de variación , a menudo abreviado como CV, es una forma de medir qué tan dispersos están los…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!