O módulo numpy do Python fornece uma função chamada numpy.average(), usada para calcular a média ponderada ao longo do eixo especificado.
Sintaxe:
numpy.average(a, axis=None, weights=None, returned=False)
Parâmetros:
x: array_like
Este parâmetro define o array de origem cuja média do elemento queremos calcular. A conversão será tentada se 'x' for um array.
eixo: int ou None ou tupla de ints (opcional)
Este parâmetro define o eixo ao longo do qual a média será calculada. Por padrão, o eixo é definido como Nenhum, o que calculará a média de todos os elementos do array de origem. As contagens começam do eixo final até o eixo inicial quando o valor do eixo é negativo.
pesos: array_like (opcional)
Este parâmetro define uma matriz contendo pesos associados aos valores da matriz. Cada valor dos elementos do array juntos faz a média de acordo com seu peso associado. A matriz ponderada pode ser unidimensional ou ter o mesmo formato da matriz de entrada. Quando não há peso associado ao elemento do array, o peso será tratado como 1 para todos os elementos.
retornado: bool(opcional)
concatenar string java
Por padrão, esse parâmetro é definido como False. Se definirmos como True, então uma tupla de média e soma_de_pesos será retornada. Se for False, a média será retornada. A soma ponderada é equivalente ao número de elementos se não houver valores para pesos.
Retorna:
retval, [soma_de_pesos]: tipo_array ou duplo
Esta função retorna a média ou a média e a soma_de_pesos que dependem do parâmetro retornado.
Levanta:
Erro ZeroDivision
Este erro aumenta quando todos os pesos ao longo do eixo são definidos como zero.
Erro de tipo
Este erro é gerado quando o comprimento da matriz ponderada não é igual ao formato da matriz de entrada.
Exemplo 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Saída:
[1, 2, 3, 4, 5] 3.0
No código acima:
- Importamos numpy com o nome alternativo np.
- Criamos uma lista de elementos 'dados' .
- Declaramos a variável 'saída' e atribuiu o valor retornado de média() função.
- Passamos a lista 'dados' na função.
- Por fim, tentamos imprimir o 'dados' e 'saída'
Na saída, mostra a média dos elementos da lista.
Exemplo 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Saída:
5.666666666666667
Exemplo 3:
import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output
Saída:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
No código acima:
- Importamos numpy com o nome alternativo np.
- Criamos uma matriz 'dados' usando laranja() e np.reshape() função.
- Declaramos a variável 'saída' e atribuiu o valor retornado de média() função.
- Passamos a matriz 'dados' , defina o eixo como 1 e a matriz ponderada na função.
- Por fim, tentamos imprimir o 'dados' e 'saída'
Na saída, mostra a média de cada elemento da coluna na matriz.
Exemplo 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Saída:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ.