PYSPARK - AVG

PYSPARK - AVG
W Python PYSPARK to moduł Spark używany do zapewnienia podobnego rodzaju przetwarzania, takiego jak Spark za pomocą DataFrame. AVG () w PYSPARK służy do zwrócenia średniej wartości z określonej kolumny w ramce danych. Możemy uzyskać średnią na trzy sposoby.
  1. Metoda 1: metodą Select ()
  2. Metoda 2: Za pomocą metody AGG ()
  3. Metoda 3: Za pomocą metody GroupBy ()

Wcześniej musimy stworzyć PYSPARK DATAFRAME do demonstracji.

Przykład:
Utworzymy ramkę danych z 5 wierszami i 6 kolumnami i wyświetlimy ją za pomocą metody show ().

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Display DataFrame
df.pokazywać()

Wyjście:

Metoda 1: metodą Select ()

Możemy uzyskać średnią wartość z kolumny w ramce danych za pomocą metody select (). Za pomocą metody AVG () możemy uzyskać średnią wartość z kolumny. Aby użyć tej metody, musimy ją zaimportować z Pyspark.SQL.Moduł funkcji, a na koniec możemy użyć metody kolekcji (), aby uzyskać średnią z kolumny

Składnia:

df.Wybierz (avg ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, aby uzyskać średnią wartość

Jeśli chcemy zwrócić średnią wartość z wielu kolumn, musimy użyć metody AVG () w metodzie Select (), określając nazwę kolumny oddzieloną przecinkiem.

Składnia:

df.Wybierz (avg ('kolumn_name'), avg ('kolumn_name'),… ., AVG ('kolumn_name')))

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, aby uzyskać średnią wartość

Przykład 1: Pojedyncza kolumna

Ten przykład otrzyma średnią wartość z kolumny wysokości w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wportu na średnią funkcję AVG
od Pyspark.SQL.Funkcje importują AVG
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Zamrzyj średnią z kolumny wysokości
df.Wybierz (AVG („wysokość”)).zbierać()

Wyjście:

[Row (AVG (wysokość) = 4.33)]

W powyższym przykładzie zwracana jest średnia wartość z kolumny wysokości.

Przykład 2: Wiele kolumn

Ten przykład otrzyma średnią wartość z kolumn wysokości, wieku i wagi w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Wprowadź średnią funkcję - AVG
od Pyspark.SQL.Funkcje importują AVG
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć średnią z kolumn wysokości, wieku i wagi
df.Wybierz (AVG („wysokość”), avg („wiek”), avg („waga”)).zbierać()

Wyjście:

[Row (AVG (wysokość) = 4.33, AVG (wiek) = 18.4, AVG (waga) = 40.0)]

W powyższym przykładzie zwracana jest średnia wartość z kolumn wysokości, wieku i wagi.

Metoda 2: Za pomocą metody AGG ()

Możemy uzyskać średnią wartość z kolumny w ramce danych za pomocą metody agg (). Ta metoda jest znana jako agregacja, która grupuje wartości w kolumnie. Wystąpi słownik jako parametr w tym kluczu, nazwa kolumny, a wartość jest funkcją agregowanej, i.mi., Avg . Korzystając z metody AVG (), możemy uzyskać średnią wartość z kolumny, a na koniec możemy użyć metody Collect (), aby uzyskać średnią z kolumny.

Składnia:

df.AGG ('kolumn_name': avg)

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, aby uzyskać średnią wartość
  3. AVG to funkcja agregacji używana do zwrócenia średniej

Jeśli chcemy zwrócić średnią wartość z wielu kolumn, musimy określić nazwę kolumny z funkcją AVG oddzieloną przecinkiem.

Składnia:

df.agg ('kolumn_name': avg, 'kolumn_name': avg,…, 'kolumna_nazwa': avg)

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Kolumna_nazwa to kolumna, aby uzyskać średnią wartość
  3. AVG to funkcja agregacji używana do zwrócenia średniej

Przykład 1: Pojedyncza kolumna

Ten przykład otrzyma średnią wartość z kolumny wysokości w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#Zamrzyj średnią z kolumny wysokości
df.AGG („Height”: 'AVG').zbierać()

Wyjście:

[Row (AVG (wysokość) = 4.33)]

W powyższym przykładzie zwracana jest średnia wartość z kolumny wysokości.

Przykład 2: Wiele kolumn

Ten przykład otrzyma średnią wartość z kolumn wysokości, wieku i wagi w Pyspark DataFrame.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#zwróć średnią z kolumn wysokości, wieku i wagi
df.AGG („Height”: „Avg”, „Age”: „Avg”, „waga”: „avg”).zbierać()

Wyjście:

[Row (AVG (waga) = 40.0, AVG (wiek) = 18.4, AVG (wysokość) = 4.33)]

W powyższym przykładzie zwracana jest średnia wartość z kolumn wysokości, wieku i wagi.

Metoda 3: Za pomocą metody GroupBy ()

Możemy uzyskać średnią wartość z kolumny w ramce danych za pomocą metody grupy (). Ta metoda zwróci średnią wartość, grupując podobne wartości w kolumnie. Musimy użyć funkcji AVG () po wykonaniu funkcji GroupBy ()

Składnia:

df.Groupby (grupa_kolumn).AVG („kolumn_nazwa”)

Gdzie,

  1. DF to wejście PYSPARK DATAFRAME
  2. Group_Column to kolumna, w której wartości są pogrupowane na podstawie tej kolumny
  3. Kolumna_nazwa to kolumna, aby uzyskać średnią wartość
  4. AVG to funkcja agregacji używana do zwrócenia średniej

Przykład 1:

W tym przykładzie zgrupujemy kolumnę adresu z kolumną wysokości, aby zwrócić średnią wartość na podstawie tej kolumny adresu.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#return Średnia z grupy kolumny wysokości z kolumną adresu
df.Groupby („Adres”).AVG („wysokość”).zbierać()

Wyjście:

Istnieją trzy unikalne wartości w polu adresu - Hyd, Guntur i Patna. Tak więc średnia zostanie utworzona przez grupowanie wartości między wartościami adresu.

[Wiersz (adres = „hyd”, avg (wysokość) = 4.35666666666666665),
Wiersz (adres = „guntur”, avg (wysokość) = 5.79),
Wiersz (adres = „patna”, avg (wysokość) = 2.79)]

Przykład 2:

W tym przykładzie zgrupujemy kolumnę adresową z kolumną wagi, aby zwrócić średnią wartość na podstawie tej kolumny adresu.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane ucznia z 5 wierszy i 6 atrybutów
studenci = [
„Rollno”: „001”, „nazwa”: „Sravan”, „wiek”: 23,
„Wysokość”: 5.79, „waga”: 67, „Adres”: „Guntur”,
„Rollno”: „002”, „nazwa”: „Ojaswi”, „wiek”: 16,
„Wysokość”: 3.79, „waga”: 34, „Adres”: „Hyd”,
„Rollno”: „003”, „nazwa”: „Gnanesh Chowdary”, „wiek”: 7,
„Wysokość”: 2.79, „waga”: 17, „Adres”: „Patna”,
„Rollno”: „004”, „nazwa”: „Rohith”, „wiek”: 9,
„Wysokość”: 3.69, „waga”: 28, „Adres”: „hyd”,
„Rollno”: „005”, „nazwa”: „Sridevi”, „wiek”: 37,
„Wysokość”: 5.59, „waga”: 54, „Adres”: „Hyd”]
# Utwórz ramkę danych
df = Spark_App.CreatedataFrame (studenci)
#return Średnia z grupy kolumny wagowej z kolumną adresu
df.Groupby („Adres”).AVG („waga”).zbierać()

Wyjście:

Istnieją trzy unikalne wartości w polu adresu - Hyd, Guntur i Patna. Tak więc średnia zostanie utworzona przez grupowanie wartości między wartościami adresu.

[Wiersz (adres = „hyd”, AVG (waga) = 38.666666666666664),
Wiersz (adres = „guntur”, avg (waga) = 67.0),
Row (Adres = „Patna”, AVG (waga) = 17.0)]

Wniosek:

Omówiliśmy, jak uzyskać średnią wartość z Pyspark DataFrame za pomocą metod wybierania () i agg (). Aby uzyskać średnią wartość poprzez grupowanie z innymi kolumnami, użyliśmy grupy wraz z funkcją AVG ().