Średnia ważona pandy

Średnia ważona pandy

Średnia ważona to średnia danych, która identyfikuje określone liczby, które są ważniejsze niż inne liczby w ramce danych. Będziemy wdrażać wszystkie możliwe sposoby, w jakie średnia ważona pandy można obliczyć za pomocą kilku przykładów.

Formuła

(wartości_kolumn*broad_column).sum ()/broad_column.suma()

Tutaj wartości_kolumn to kolumna liczbowa w PandaS DataFrame, która przechowuje wartości, a wagi to kolumna liczbowa, która będzie przechowywać wagę każdej wartości.

Metoda 1: Średnia powrót ważonej

Użyjmy niestandardowej funkcji, która oblicza średnią ważoną Pandas DataFrame. Użyjemy funkcji sum () do obliczenia sumy w następujących obliczeniach:

sum (dataFrame_Object [waga_data]*dataFrame_Object [value_data])/DataFrame_Object [waga_data].suma()

Tutaj waga_data to kolumna w ramce danych, która zawiera wagi dla wartości w kolumnie Value_Data.

Przykład

W tym przykładzie mamy ramkę danych o nazwie „obliczenia” z 2 kolumnami typu liczb całkowitych. Teraz utworzymy funkcję niestandardową, „waga_avg_calculation”, aby obliczyć średnią ważoną i wywołać funkcję z tymi dwiema kolumnami, przekazując je jako argumenty.

importować pandy
# Utwórz ramkę danych z 2 kolumnami i 5 wierszy
Obliczenia = pandy.Ramka danych.from_dict („Count”: [7,8,9,0,4],
„Ilość”: [2,3,4,5,2]
)
# Wyświetl Frame - Obliczenia
Drukuj (obliczenia)
# Funkcja niestandardowa, która oblicza średnią ważoną
def waga_avg_calculation (obliczenia, wartość_data, waga_data):
return suma (obliczenia [waga_data] * Obliczenia [wartość_data])/calculations [waga_data].suma()
wydrukować()
# Wywołaj funkcję, przekazując ramkę danych, „ilość” jako wartość_data i „liczba” jako waga_data
print (waga_avg_calculation (obliczenia, „ilość”, „count”))

Wyjście

zlicz ilość
0 7 2
1 8 3
2 9 4
3 0 5
4 4 2
2.9285714285714284

Wyjaśnienie

Tak więc funkcja niestandardowa to:

Zwróci średnią ważoną.

Tak więc średnia ważona powyższej strumienia danych wynosi 2.92.

Metoda 2: Średnia powrót ważonej w grupach

Teraz użyjemy funkcji GroupBy () do grupowania wierszy i zwrócenia średniej ważonej w każdej grupie. Metoda Apply () jest stosowana wraz z grupą (), która przyjmuje średnią ważoną i kolumny jako parametry.

DataFrame_Object.GroupBy („Grouping_Column”).Zastosuj (waga_avg_calculation, „value_data”, „waga_data”)

Tutaj rzędy zostały pogrupowane na podstawie wartości w „Grouping_Column”. Wagotowany_avg_calculation to funkcja niestandardowa, która oblicza średnią ważoną. Waga_data jest kolumną w ramce danych, która zawiera wagi dla wartości w kolumnie value_data.

Przykład

W tym przykładzie mamy ramkę danych o nazwie „obliczenia” z 3 kolumnami. Teraz utworzymy funkcję niestandardową, „waga_avg_calculation”, aby obliczyć średnią ważoną i wywołać funkcję z dwiema kolumnami, przekazując je jako argumenty. Zmienimy rzędy na podstawie kolumny „pozycji” i zwrócimy średnią ważoną w każdej grupie.

importować pandy
# Utwórz ramkę danych z 3 kolumnami i 5 wierszy
Obliczenia = pandy.Ramka danych.from_dict („Count”: [12,34,56,10,15],
„Ilość”: [100,200,345 670,50],
„Pozycja”: [„plastik”, „żelazo”, „żelazo”, „stal”, „plastik”]
)
# Wyświetl Frame - Obliczenia
Drukuj (obliczenia)
# Funkcja niestandardowa, która oblicza średnią ważoną
def waga_avg_calculation (obliczenia, wartość_data, waga_data):
return suma (obliczenia [waga_data] * Obliczenia [wartość_data])/calculations [waga_data].suma()
wydrukować()
Drukuj (obliczenia.Groupby („pozycja”).Zastosuj (waga_avg_calculation, „ilość”, „count”))

Wyjście

Policz element ilości
0 12 100 Plastik
1 34 200 żelazo
2 56 345 Żelazo
3 10 670 stal
4 15 50 Plastik
przedmiot
Żelazo 290.222222
Plastik 72.222222
Stal 670.000000
Dtype: Float64

Wyjaśnienie

Tak więc funkcja niestandardowa to:

Zwróci średnią ważoną.

Istnieją trzy grupy w obliczeniach DataFrame.

  1. Średnia ważona dla grupy „żelaza” wynosi 290.22
  2. Średnia ważona dla grupy „plastikowej” wynosi 72.22
  3. Średnia ważona dla grupy „stalowej” wynosi 670.00

Metoda 3: Średnia powrót ważonej za pomocą Numpy

Moduł Numpy obsługuje średnią funkcję (), w której możemy przekazać do niej wartości i wagi oraz uzyskać średnią ważoną odframe pandas.

  1. W pierwszym parametrze musimy przekazać kolumnę wartości.
  2. W drugim parametrze przypiszemy kolumnę „Dane dotyczące wagi” do wag.

Numpy.średnia (dataFrame_Object ['value_data'], waga = dataFrame_Object ['waga_data']))

Przykład

W tym przykładzie mamy ramkę danych o nazwie „obliczenia” z 2 kolumnami. Bezpośrednio użyjemy Numpy.średnia () w celu obliczenia średniej ważonej.

importować pandy
Importuj Numpy
# Utwórz ramkę danych z 2 kolumnami i 5 wierszy
Obliczenia = pandy.Ramka danych.from_dict („Count”: [12,34,56,10,15],
„Ilość”: [100,200,345 670,50]
)
# Wyświetl Frame - Obliczenia
Drukuj (obliczenia)
wydrukować()
Drukuj (Numpy.średnia (obliczenia [„ilość”], wagi = obliczenia [„liczba”])))

Wyjście:

zlicz ilość
0 12 100
1 34 200
2 56 345
3 10 670
4 15 50
273.7795275590551
Dtype: Float64

Wyjaśnienie

Tutaj kolumna ilościowa będzie wartością, a liczba będzie ciężarem.

Średnia ważona wynosi 273.77.

Wniosek

Średnia ważona panda jest cenną i techniczną funkcją. Wykonaliśmy niestandardową funkcję średniej ważonej pandy i średniej ważonej pandy. Średnia jest czymś, co musimy obliczyć w prawie wszystkim, nawet budżety małych artykułów spożywczych. Tak więc, mówiąc o milionach danych, ważona średnia funkcja panda jest smakołykiem dla wszystkich użytkowników pracujących nad konkretnymi obliczeniami średnimi danych w swoich dziedzinach.