Pandas Média ponderada

Pandas Média ponderada

A média ponderada é a média dos dados que identificam os números específicos que são mais importantes do que os outros números no quadro de dados. Estaremos implementando todas as maneiras possíveis pelas quais a média ponderada dos pandas pode ser calculada com a ajuda de vários exemplos.

Fórmula

(valores_column*weights_column).Sum ()/Weights_column.soma()

Aqui, valores_column é a coluna numérica no quadro de dados de pandas que armazena os valores, e Weights_column é a coluna numérica que armazenará o peso de cada valor.

Método 1: Média ponderada de retorno

Vamos usar a função personalizada que calcula a média ponderada do quadro de dados de pandas. Usaremos a função SUM () para calcular a soma no seguinte computação:

SUM (dataframe_object [weight_data]*dataframe_object [value_data])/dataframe_object [weight_data].soma()

Aqui, Weight_Data é a coluna no quadro de dados que mantém pesos para valores na coluna value_data.

Exemplo

Neste exemplo, temos um quadro de dados chamado 'cálculos' com 2 colunas do tipo inteiro. Agora, criaremos uma função personalizada, 'PESOLED_AVG_CALCLULINS', para calcular a média ponderada e chamar a função com essas duas colunas, passando -as como argumentos.

Importar pandas
# Crie o DataFrame com 2 colunas e 5 linhas
Cálculos = pandas.Quadro de dados.from_dict ('count': [7,8,9,0,4],
'Quantidade': [2,3,4,5,2]
)
# Exiba o DataFrame - Cálculos
Imprimir (cálculos)
# Função personalizada que calcula a média ponderada
DEF PESOD_AVG_CALCLULING (Cálculos, Value_Data, Weight_Data):
Soma de retorno (cálculos [peso_data] * cálculos [value_data])/cálculos [peso_data].soma()
imprimir()
# Chame a função passando o DataFrame, 'Quantity' como value_data e 'count' como peso_data
Print (PESODED_AVG_CALCLULING (Cálculos, 'Quantidade', 'Count'))))

Saída

contagem de quantidade
0 7 2
1 8 3
2 9 4
3 0 5
4 4 2
2.9285714285714284

Explicação

Então, a função personalizada é:

Ele retornará a média ponderada.

Portanto, a média ponderada do quadro de dados acima é 2.92.

Método 2: Média ponderada de retorno em grupos

Agora, usaremos a função groupby () para agrupar as linhas e retornar a média ponderada em cada grupo. O método Aplicar () é usado junto com o grupo () que leva a média ponderada e as colunas como parâmetros.

Dataframe_object.grupo ('grouping_column').Aplicar (PESOD_AVG_CALCLULING, 'Value_Data', 'Weight_Data')

Aqui, as linhas foram agrupadas com base em valores no 'grouping_column'. O pesado_avg_calculation é uma função personalizada que calcula a média ponderada. O peso_data é a coluna no quadro de dados que mantém pesos para valores na coluna value_data.

Exemplo

Neste exemplo, temos um quadro de dados chamado 'cálculos' com 3 colunas. Agora, criaremos uma função personalizada, 'Pended_avg_CalCulocation', para calcular a média ponderada e chamar a função com as duas colunas, passando -as como argumentos. Agruparemos as linhas com base na coluna 'Item' e retornaremos a média ponderada em cada grupo.

Importar pandas
# Crie o DataFrame com 3 colunas e 5 linhas
Cálculos = pandas.Quadro de dados.from_dict ('count': [12,34,56,10,15],
'Quantidade': [100.200.345.670,50],
'Item': ['plástico', 'ferro', 'ferro', 'aço', 'plástico']
)
# Exiba o DataFrame - Cálculos
Imprimir (cálculos)
# Função personalizada que calcula a média ponderada
DEF PESOD_AVG_CALCLULING (Cálculos, Value_Data, Weight_Data):
Soma de retorno (cálculos [peso_data] * cálculos [value_data])/cálculos [peso_data].soma()
imprimir()
Imprimir (cálculos.grupo ('item').Aplicar (ponderado_avg_calculocation, 'quantidade', 'count')))

Saída

contagem de quantidade de quantidade
0 12 100 plástico
1 34 200 ferro
2 56 345 ferro
3 10 670 Aço
4 15 50 plástico
item
Ferro 290.222222
plástico 72.222222
Aço 670.000000
DTYPE: Float64

Explicação

Então, a função personalizada é:

Ele retornará a média ponderada.

Existem três grupos nos cálculos DataFrame.

  1. A média ponderada para o grupo 'ferro' é 290.22
  2. A média ponderada para o grupo 'plástico' é 72.22
  3. A média ponderada para o grupo 'aço' é 670.00

Método 3: Retornar a média ponderada usando Numpy

O módulo Numpy suporta a função média () na qual podemos passar os valores e pesos e obter a média ponderada do quadro de dados do pandas.

  1. No primeiro parâmetro, precisamos passar na coluna valores.
  2. No segundo parâmetro, atribuiremos a coluna 'Dados de peso' aos pesos.

Numpy.média (dataframe_object ['value_data'], pesos = dataframe_object ['peso_data']))

Exemplo

Neste exemplo, temos um quadro de dados chamado 'cálculos' com 2 colunas. Vamos usar diretamente Numpy.média () para calcular a média ponderada.

Importar pandas
importar numpy
# Crie o DataFrame com 2 colunas e 5 linhas
Cálculos = pandas.Quadro de dados.from_dict ('count': [12,34,56,10,15],
'Quantidade': [100.200.345.670,50]
)
# Exiba o DataFrame - Cálculos
Imprimir (cálculos)
imprimir()
Imprimir (Numpy.média (cálculos ['quantidade'], pesos = cálculos ['contagem']))))))

Saída:

contagem de quantidade
0 12 100
1 34 200
2 56 345
3 10 670
4 15 50
273.7795275590551
DTYPE: Float64

Explicação

Aqui, a coluna de quantidade será o valor, e a contagem será os pesos.

A média ponderada é 273.77.

Conclusão

A média ponderada dos pandas é uma função valiosa e técnica. Fizemos a função personalizada da média ponderada dos pandas e a média ponderada de pandas numpy. A média é algo que precisamos calcular em quase tudo, mesmo os orçamentos de pequenas compras. Assim, ao falar sobre os milhões de dados, a função média de pandas ponderada é um tratamento para todos os usuários que trabalham nos cálculos médios de dados específicos em seus campos.