I Pyspark DataFrame er det mulig å returnere minstelementene i to eller flere kolonner.
Pyspark støtter minst () -funksjonen, som brukes til å finne de minste verdiene i flere kolonner over alle radene i en Pyspark RDD eller en Pyspark DataFrame.
Det er tilgjengelig i Pyspark.SQL.funksjoner modul.
Syntaks
DataFrame_obj.Velg (minst (DataFrame_OBJ.Kolonne1, DataFrame_OBJ.kolonne2, ...))
Parameter:
Det tar kolonner som parametere.
Vi får tilgang til kolonnene ved hjelp av '.'Operatør (kolonne1, kolonne2, representerer kolonnenavn).
Data
Her vil vi lage en Pyspark DataFrame som har 5 kolonner: ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'] med 10 rader.
Importer pyspark
Fra Pyspark.SQL Import SparkSession
Spark_app = SparkSession.bygger.AppName ('_').getorCreate ()
Studenter = [(4, 'Sravan', 23, 'PHP', 'Testing'),
(4, 'Sravan', 23, 'PHP', 'Testing'),
(46, 'Mounika', 22, '.Nett ',' 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, '.Nett ',' testing ')
]
DataFrame_OBJ = Spark_App.CreateTataFrame (Studenter, ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'])
Print ("---------- DataFrame ----------")
DataFrame_obj.forestilling()
Produksjon:
Nå vil vi se eksemplene for å returnere de minste verdiene i to eller flere kolonner fra forrige DataFrame.
Eksempel 1
Så vi opprettet forrige DataFrame. Nå vil vi returnere de minste verdiene fra emne_id og alder kolonner.
# Importer minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - emne_id og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, minst (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()
Produksjon:
Forklaring
Du kan sammenligne de to kolonneverdiene i hver rad.
minst (4,23) - 4
minst (4,23) - 4
minst (46,22) -22
minst (4,21) - 4
minst (46,22) - 22
minst (12,22) - 12
minst (12,22) - 12
minst (4,23) - 4
minst (4,21) - 4
minst (46,22) - 22.
Eksempel 2
Vi opprettet forrige DataFrame. Nå vil vi returnere de minste verdiene fra Navn, teknologi1, og Technology2 kolonner.
# Importer minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
minst (dataaframe_obj.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()
Produksjon:
Her sammenlignes strenger basert på ASCII -verdiene:
minst (Sravan, PHP, testing) - PHP
minst (Sravan, PHP, testing) - PHP
minst (Mounika, .Nett, html) - .NETT
Minst (Deepika, Oracle, HTML) - HTML
Minst (Mounika, Oracle, Testing) - Oracle
minst (Chandrika, Hadoop, C#) - C#
Minst (Chandrika, Oracle, Testing) - Oracle
minst (Sravan, Oracle, C#) - C#
minst (Deepika, PHP, C#) - C#
minst (Mounika,.Nett, testing) -.NETT.
Hele koden
Importer pyspark
Fra Pyspark.SQL Import SparkSession
Spark_app = SparkSession.bygger.AppName ('_').getorCreate ()
Studenter = [(4, 'Sravan', 23, 'PHP', 'Testing'),
(4, 'Sravan', 23, 'PHP', 'Testing'),
(46, 'Mounika', 22, '.Nett ',' 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, '.Nett ',' testing ')
]
DataFrame_OBJ = Spark_App.CreateTataFrame (Studenter, ['Subject_id', 'Name', 'Age', 'Technology1', 'Technology2'])
Print ("---------- DataFrame ----------")
DataFrame_obj.forestilling()
# Importer minst funksjon fra modulen - Pyspark.SQL.funksjoner
Fra Pyspark.SQL.funksjoner importerer minst
#Sammenlign kolonnene - emne_id og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.emne_id, dataaframe_obj.Alder, minst (DataFrame_OBJ.emne_id, dataaframe_obj.alder)).forestilling()
#Sammenlign kolonnene - Navn, Technology1, Technology2 og alder og returner de laveste verdiene over hver eneste rad.
DataFrame_obj.Velg (DataFrame_OBJ.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2,
minst (dataaframe_obj.Navn, DataFrame_OBJ.Technology1, DataFrame_OBJ.Technology2)).forestilling()
Konklusjon
Minst () -funksjonen brukes til å finne de laveste verdiene i flere kolonner over alle radene i en Pyspark RDD eller en Pyspark DataFrame. Den sammenligner kolonnene bare med lignende datatyper. Ellers vil det heve analyse unntaket. Uttrykkene skal alle ha samme type.