Pyspark - Min Function

Pyspark - Min Function
Dopo aver diviso le righe nel frame dati Pyspark, è possibile restituire i valori minimi e massimi in ciascuna partizione. Usando alcune funzioni aggregate su una finestra di partizione, è possibile restituire il minimo/massimo.

Innanzitutto, vediamo come partizionare il frame dati in pyspark.

Partizione

È possibile partizione delle righe nel frame dati utilizzando la funzione della finestra. È disponibile in pyspark.SQL.finestra modulo. Ci saranno due passaggi per partizionare le righe in un frame dati pyspark.

Passaggi:

  1. Crea un frame dati pyspark che ha alcuni valori simili in almeno una colonna.
  2. Partizione I dati utilizzando il metodo di partizione () disponibile nella funzione inwindow.

Sintassi:

partizione = finestra.Partitionby ("colonna")

Possiamo ordinare i dati partizionati con la colonna partizionata o qualsiasi altra colonna.

Creiamo il frame dati.

Esempio:

Qui, creiamo un frame dati pyspark che ha 5 colonne - ['soggetto_id', 'name', 'age', 'technology1', 'technology2'] con 10 righe.

importare pyspark
da pyspark.SQL Importazione di importazione
da pyspark.SQL.funzioni importanti *
Spark_app = SparkSession.costruttore.nome dell'applicazione('_').getOrCreate ()
Studenti = [(4, "Sravan", 23, "Php", "Test"),
(4, "Sravan", 23, "Php", "Test"),
(46, "Mounika", 22, ".Net ',' html '),
(4, "Deepika", 21, "Oracle", "HTML"),
(46, "Mounika", 22, "Oracle", "Test"),
(12, "Chandrika", 22, "Hadoop", "C#"),
(12, "Chandrika", 22, "Oracle", "Test"),
(4, "Sravan", 23, "Oracle", "C#"),
(4, "Deepika", 21, "Php", "C#"),
(46, "Mounika", 22, ".Net ',' test ')
"
DataFrame_obj = Spark_app.CreateAtaFrame (Students, ['soggetto_id', 'name', 'age', 'technology1', 'technology2'])
print ("---------- Frame dati effettivo ----------")
dataframe_obj.spettacolo()

Produzione:

Funzione di finestra pyspark min ()

Il min () nella funzione della finestra viene utilizzato per restituire il valore minimo in ciascuna partizione. Può essere possibile restituire un valore minimo dopo aver partito il frame dati.

Sintassi:

dataframe_obj.WithColumn ("minimo", min (col ("colonna")).Over (partizione))

Parametro:

min (col ("colonna"))

Qui, la funzione min () prende il nome della colonna come parametro. Restituisce il minimo di valori in questa colonna in ogni partizione.

Aggiungiamo il risultato in una colonna denominata minima usando la funzione WithColumn ().

Esempio 1:

Ora, abbiamo un frame dati (creato in precedenza). Partizioni in base alla colonna Technology1 e otteniamo il valore minimo dalla colonna soggetto_id in ogni partizione.

# Importa la funzione della finestra
da pyspark.SQL.finestra di importazione della finestra
#import il min e col da pyspark.SQL.funzioni
da pyspark.SQL.funzioni importanti min, col
#partition Il frame dati in base ai valori nella colonna
partizione = finestra.Partitionby ("Technology1")
print ("---------- DataFrame partizionato ----------")
#RETURN Il valore minimo nella colonna soggetto_id per ogni partizione
dataframe_obj.WithColumn ("minimo", min (col ("soggetto_id").Over (partizione)).spettacolo()

Produzione:

Spiegazione:

Il numero totale di partizioni è 4.

Partizione 1:

IL .La rete si è verificata due volte nella prima partizione. Il valore minimo nella colonna soggetto_id è 46.

Partizione 2:

Hadoop si è verificato una volta nella seconda partizione. Quindi, il valore minimo è 12.

Partizione 3:

Oracle si è verificato quattro volte nella terza partizione.

Il valore minimo nella colonna soggetto_id è 4.

Partizione 4:

PHP si è verificato tre volte nella quarta partizione.

Il valore minimo nella colonna soggetto_id è 4.

Esempio 2:

Ora, abbiamo un frame dati (creato in precedenza). Partition It In base alla colonna Technology1 e otteniamo il valore minimo dalla colonna di età in ogni partizione.

# Importa la funzione della finestra
da pyspark.SQL.finestra di importazione della finestra
#import il min e col da pyspark.SQL.funzioni
da pyspark.SQL.funzioni importanti min, col
#partition Il frame dati in base ai valori nella colonna
partizione = finestra.Partitionby ("Technology1")
print ("---------- DataFrame partizionato ----------")
#RETURN Il valore minimo nella colonna di età per ogni partizione
dataframe_obj.WithColumn ("minimo", min (col ("età")).Over (partizione)).spettacolo()

Produzione:

Spiegazione:

Il numero totale di partizioni è 4.

Partizione 1:

IL .La rete si è verificata due volte nella prima partizione. Il valore minimo nella colonna di età è 22.

Partizione 2:

Hadoop si è verificato una volta nella seconda partizione. Il valore minimo è 22.

Partizione 3:

Oracle si è verificato quattro volte nella terza partizione.

Il valore minimo nella colonna di età è 21.

Partizione 4:

PHP si è verificato tre volte nella quarta partizione.

Il valore minimo nella colonna di età è 21.

Funzione di finestra Pyspark Max ()

Il max () nella funzione della finestra viene utilizzato per restituire il valore massimo in ciascuna partizione. Può essere possibile restituire un valore massimo dopo aver partito il frame dati.

Sintassi:

dataframe_obj.WithColumn ("Maximum", Max (col ("colonna")).Over (partizione))

Parametro:

max (col ("colonna"))

Qui, la funzione max () prende il nome della colonna come parametro. Restituisce il massimo dei valori in questa colonna in ciascuna partizione.

Aggiungiamo il risultato in una colonna denominata massima usando la funzione WithColumn ().

Esempio 1:

Ora, abbiamo un frame dati (creato in precedenza). Partizioni in base alla colonna Technology1 e otteniamo il valore massimo dalla colonna soggetto_id in ogni partizione.

# Importa la funzione della finestra
da pyspark.SQL.finestra di importazione della finestra
#import il max e il col da pyspark.SQL.funzioni
da pyspark.SQL.funzioni importa max, col
#partition Il frame dati in base ai valori nella colonna
partizione = finestra.Partitionby ("Technology1")
print ("---------- DataFrame partizionato ----------")
#RETURN Il valore massimo nella colonna soggetto_id per ogni partizione
dataframe_obj.withColumn ("massimo", max (col ("soggetto_id")).Over (partizione)).spettacolo()

Produzione:

Spiegazione:

Il numero totale di partizioni è 4.

Partizione 1:

IL .La rete si è verificata due volte nella prima partizione. Il valore massimo nella colonna soggetto_id è 46.

Partizione 2:

Hadoop si è verificato una volta nella seconda partizione. Quindi, il valore massimo è 12.

Partizione 3:

Oracle si è verificato quattro volte nella terza partizione.

Il valore massimo nella colonna soggetto_id è 46.

Partizione 4:

PHP si è verificato tre volte nella quarta partizione.

Il valore massimo nella colonna soggetto_id è 4.

Esempio 2:

Ora, abbiamo un frame dati (creato in precedenza). Partition It It Basay sulla colonna Technology1 e otteniamo il valore massimo dalla colonna di età in ogni partizione.

# Importa la funzione della finestra
da pyspark.SQL.finestra di importazione della finestra
#import il max e il col da pyspark.SQL.funzioni
da pyspark.SQL.funzioni importa max, col
#partition Il frame dati in base ai valori nella colonna
partizione = finestra.Partitionby ("Technology1")
print ("---------- DataFrame partizionato ----------")
#Trenturn il valore massimo nella colonna di età per ogni partizione
dataframe_obj.WithColumn ("Maximum", Max (Col ("Age").Over (partizione)).spettacolo()

Produzione:

Spiegazione:

Il numero totale di partizioni è 4.

Partizione 1:

IL .La rete si è verificata due volte nella prima partizione. Il valore massimo nella colonna di età è 22.

Partizione 2:

Hadoop si è verificato una volta nella seconda partizione. Quindi, il valore massimo è 22.

Partizione 3:

Oracle si è verificato quattro volte nella terza partizione.

Il valore massimo nella colonna di età è 23.

Partizione 4:

PHP si è verificato tre volte nella quarta partizione.

Il valore massimo nella colonna di età è 23.

Conclusione

In questo tutorial di partizionamento Pyspark, abbiamo imparato a restituire i valori minimi in ciascuna finestra partizionata usando la funzione min () e i valori massimi in ciascuna finestra partizionata usando la funzione max (). Abbiamo aggiunto il risultato al frame dati esistente come nuova colonna. Assicurati di dover importare il minuto e il massimo dal pyspark.SQL.modulo funzioni.