PYSPARK - VARIANCE_STDDEV -Funktion

PYSPARK - VARIANCE_STDDEV -Funktion
Nach der Verteilung der Zeilen im PYSPARK -Datenrahmen ist es möglich, die Varianz und die Standardabweichung in jeder Partition zurückzugeben. Durch die Verwendung einiger aggregierter Funktionen in einem Partitionsfenster ist es möglich, die Varianz und die Standardabweichung zurückzugeben.

Zunächst werden wir sehen.

Trennwand

Es ist möglich, die Zeilen im DataFrame mithilfe der Fensterfunktion zu partitionieren. Es ist in der erhältlich PYSPARK.sql.Fenster Modul. Es gibt zwei Schritte, um die Zeilen in einem PYSPARK -Datenrahmen zu partitionieren.

Schritte:

  1. Erstellen Sie einen PYSPARK -Datenrahmen, der in mindestens einer Spalte einige ähnliche Werte aufweist.
  2. Partitionieren Sie die Daten mit der in der Fensterfunktion verfügbaren PartitionBy () -Methode.

Syntax:

Partition = Fenster.partitionby ("Spalte")

Wir können die partitionierten Daten mit der partitionierten Spalte oder einer anderen Spalte bestellen.

Lassen Sie uns den Datenrahmen erstellen.

Beispiel:

Hier erstellen wir einen PYSPARK -Datenrahmen mit 5 Spalten - ['Subjekt_ID', 'Name', 'Age', 'Technology1', 'Technology2'] mit 10 Zeilen.

pysspark importieren
aus pysspark.SQL Import SparkSession
aus pysspark.sql.Funktionen importieren *
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23, 'Php', 'Testing'),
(4, 'Sravan', 23, 'php', 'testing'),
(46, 'Mounika', 22, ','.Net ',' html '),
(4, "Deepika", 21, "Oracle", "Html"),
(46, 'Mounika', 22, 'Oracle', 'Testing'),
(12, 'Chandrika', 22, 'Hadoop', 'C#'),
(12, "Chandrika", 22, "Oracle", "Testing"),
(4, 'sravan', 23, oracle ',' c#'),
(4, 'Deepika', 21, 'Php', 'C#'),
(46, 'Mounika', 22, ','.Net ',' testing ')
]
DataFrame_OBJ = Spark_App.Createdataframe (Studenten, ['Subjekt_ID', 'Name', 'Alter', 'Technology1', 'Technology2'])
print ("---------- tatsächliche Datenfreque ----------")
DataFrame_OBJ.zeigen()

Ausgang:

PYSPARK Varianz () Fensterfunktion

Die Varianz () in der Fensterfunktion wird verwendet, um die Varianz in jeder Partition zurückzugeben. Nach der Verteilung des Datenrahmens kann es möglich sein, die Varianz zurückzugeben.

Syntax:

DataFrame_OBJ.WithColumn ("Varianz", Varianz (col ("Spalte")).über (Partition))

Parameter:

Varianz (col ("Spalte"))

Hier nimmt die Funktion varianz () den Spaltennamen als Parameter. Es gibt die Varianz in dieser Spalte in jeder Partition zurück.

Wir fügen das Ergebnis einer Spalte mit dem Namen Varianz mit der Funktion WithColumn () hinzu.

Beispiel 1:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Spalte Technology1 aufteilt und die Varianz in der Spalte Subjekt_ID in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#-Varianz und col aus pyspark.sql.Funktionen
aus pysspark.sql.Funktionen Importvarianz, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REIT Die Varianz in Subjekt_ID -Spalte für jede Partition
DataFrame_OBJ.WithColumn ("Varianz", Varianz (col ("subjekt_id")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Die Varianz der Spalte Subjekt_ID beträgt 0.0.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Die Varianz ist also null.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Die Varianz der Spalte von Subjekt_ID beträgt 401.0.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Die Varianz der Spalte Subjekt_ID beträgt 0.0.

Beispiel 2:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und die Varianz in der Altersspalte in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#-Varianz und col aus pyspark.sql.Funktionen
aus pysspark.sql.Funktionen Importvarianz, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REIT Die Varianz in der Altersspalte für jede Partition
DataFrame_OBJ.WithColumn ("Varianz", Varianz (col ("Alter")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Die Varianz der Altersspalte beträgt 0.0.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Die Varianz ist also null.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Die Varianz der Altersspalte beträgt 0.666.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Die Varianz der Altersspalte beträgt 1.333.

PYSPARK STDDEV () Fensterfunktion

Die STDDEV () in der Fensterfunktion wird verwendet, um die Standardabweichung in jeder Partition zurückzugeben. Es kann möglich sein, die Standardabweichung nach der Verteilung des Datenrahmens zurückzugeben.

Syntax:

DataFrame_OBJ.WithColumn ("Standardabweichung", stddev (col ("Spalte")).über (Partition))

Parameter:

stddev (col ("Spalte"))

Hier nimmt der STDDEV () den Spaltennamen als Parameter. Es gibt die Standardabweichung in dieser Spalte in jeder Partition zurück.

Wir fügen das Ergebnis einer Spalte mit dem Namen Standardabweichung mit der Funktion WithColumn () hinzu.

Beispiel 1:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und die Standardabweichung in der Spalte Subjekt_ID in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie den STDDEV und COL von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren stddev, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REIT Die Satndard -Abweichung in der Spalte von Subjekt_ID für jede Partition
DataFrame_OBJ.WithColumn ("Standardabweichung", stddev (col ("subjekt_id")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Die Standardabweichung der Spalte von Subjekt_ID beträgt 0.0.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Die Standardabweichung ist also null.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Die Standardabweichung der Spalte von Subjekt_ID beträgt 20.024984.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Die Standardabweichung der Spalte von Subjekt_ID beträgt 0.0.

Beispiel 2:

Jetzt haben wir einen Datenrahmen (zuvor erstellt). Lassen Sie es uns auf der Basis der Technologie1 -Spalte aufteilt und die Standardabweichung in der Altersspalte in jeder Partition erhalten.

# Importieren Sie die Fensterfunktion
aus pysspark.sql.Fensterimportfenster
#importieren Sie den STDDEV und COL von PYSPARK.sql.Funktionen
aus pysspark.sql.Funktionen importieren stddev, col
#Partition Der Datenrahmen basierend auf den Werten in der Spalte Technology1
Partition = Fenster.partitionby ("Technology1")
print ("---------- partitionierte Datenframe ----------")
#REIT DIE SATNDARD -Abweichung in der Altersspalte für jede Partition
DataFrame_OBJ.WithColumn ("Standardabweichung", Stddev (col ("Alter")).über (Partition)).zeigen()

Ausgang:

Erläuterung:

Die Gesamtzahl der Partitionen beträgt 4.

Partition 1:

Der .Das Netz trat zweimal in der ersten Partition auf. Die Standardabweichung der Altersspalte beträgt 0.0.

Partition 2:

Hadoop ereignete sich einmal in der zweiten Partition. Die Standardabweichung ist also null.

Partition 3:

Oracle trat viermal in der Dritten Partition auf.

Die Standardabweichung der Altersspalte beträgt 0.8164.

Partition 4:

PHP trat dreimal in der vierten Partition auf.

Die Standardabweichung der Altersspalte beträgt 1.1547.

Abschluss

In diesem PYSPARK -Partitionierungs -Tutorial haben wir gelernt, wie die Varianz in jedem partitionierten Fenster mit der Funktion Varianz () und die Standardabweichung in jedem partitionierten Fenster mit der Funktion STDDDEV () und die Standardabweichung zurückgegeben werden kann. Wir haben das Ergebnis dem vorhandenen DataFrame als neue Spalte hinzugefügt. Stellen Sie sicher, dass Sie die Varianz und Stddev aus dem PYSPARK importieren.sql.Funktionsmodul.