Moduł numpy języka Python udostępnia funkcję o nazwie numpy.average(), służącą do obliczania średniej ważonej wzdłuż określonej osi.
Składnia:
numpy.average(a, axis=None, weights=None, returned=False)
Parametry:
x: tablica_podobna
Parametr ten definiuje tablicę źródłową, dla której chcemy obliczyć średnią elementu. Próba konwersji zostanie podjęta, jeśli „x” jest tablicą.
oś: int lub None lub krotka int (opcjonalnie)
Parametr ten określa oś, wzdłuż której będzie obliczana średnia. Domyślnie oś jest ustawiona na Brak, co spowoduje obliczenie średniej ze wszystkich elementów tablicy źródłowej. Zliczanie rozpoczyna się od końca do osi początkowej, gdy wartość osi jest ujemna.
zastępca komisarza policji
wagi: array_like (opcjonalnie)
Parametr ten definiuje tablicę zawierającą wagi powiązane z wartościami tablicy. Każda wartość elementów tablicy razem tworzy średnią zgodnie z powiązaną z nią wagą. Tablica ważona może być jednowymiarowa lub mieć taki sam kształt jak tablica wejściowa. Jeśli z elementem tablicy nie jest powiązana żadna waga, waga będzie traktowana jako 1 dla wszystkich elementów.
zwrócone: bool (opcjonalnie)
Domyślnie ten parametr jest ustawiony na False. Jeśli ustawimy ją na True, zwracana jest krotka średniej i sumy_wag. Jeśli ma wartość False, zwracana jest średnia. Suma ważona jest równa liczbie elementów, jeśli nie ma wartości wag.
Zwroty:
retval, [sum_of_weights]: typ_tablicy lub double
Ta funkcja zwraca średnią lub zarówno średnią, jak i sumę_wag, które zależą od zwróconego parametru.
Podnosi:
Błąd ZeroDivision
Ten błąd pojawia się, gdy wszystkie ciężary wzdłuż osi są ustawione na zero.
TypBłąd
Ten błąd jest zgłaszany, gdy długość tablicy ważonej nie jest taka sama jak kształt tablicy wejściowej.
Przykład 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Wyjście:
[1, 2, 3, 4, 5] 3.0
W powyższym kodzie:
- Zaimportowaliśmy numpy z aliasem np.
- Stworzyliśmy listę elementów 'dane' .
- Zadeklarowaliśmy zmienną 'wyjście' i przypisano zwróconą wartość przeciętny() funkcjonować.
- Przeszliśmy przez listę 'dane' w funkcji.
- Na koniec próbowaliśmy wydrukować plik 'dane' I 'wyjście'
Na wyjściu wyświetlana jest średnia elementów listy.
Przykład 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Wyjście:
5.666666666666667
Przykład 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
Wyjście:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
W powyższym kodzie:
- Zaimportowaliśmy numpy z aliasem np.
- Stworzyliśmy tablicę 'dane' za pomocą układać() I np.reshape() funkcjonować.
- Zadeklarowaliśmy zmienną 'wyjście' i przypisano zwróconą wartość przeciętny() funkcjonować.
- Minęliśmy tablicę 'dane' , ustaw oś na 1 i tablicę ważoną w funkcji.
- Na koniec próbowaliśmy wydrukować plik 'dane' I 'wyjście'
Na wyjściu wyświetlana jest średnia wszystkich elementów kolumny w tablicy.
porównywalny ciąg w Javie
Przykład 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Wyjście:
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.