Funciones PySpark desc_nulls_first() y desc_nulls_last()

Si desea ordenar los valores en una columna en PySpark DataFrame con nulos en orden descendente, puede usar las funciones desc_nulls_first() y desc_nulls_last(). Antes de analizar estas funciones, creemos un PySpark DataFrame de muestra.

Contenidos

Datos

importar pyspark desde pyspark.sql importar SparkSession spark_app = SparkSession.builder.appName(‘_’).getOrCreate() estudiantes =[(4,’sravan’,23,None,None),           (4,’chandana’,23,’CSS’,’PySpark’),           (46,’mounika’,22,None,’.NET’),           (4,’deepika’,21,’HTML’,None),              ] dataframe_obj = spark_app.createDataFrame(Estudiantes,[‘subject_id’,’name’,’age’,’technology1′,’technology2′]) dataframe_obj.mostrar()
Producción:

Ahora hay 5 columnas y 4 filas.

función desc_nulls_first()

La función desc_nulls_first() ordena los valores de una columna en orden descendente, pero coloca los valores nulos existentes en una columna. Se puede usar con el método select() para seleccionar las columnas ordenadas. Es muy importante usar la función orderBy(), porque lo principal aquí es que sort.orderBy() toma la función desc_nulls_first() como parámetro.

sintaxis

dataframe_obj.select(dataframe_obj.column).orderBy(dataframe_obj.column.desc_nulls_first()) Donde dataframe_obj es el DataFrame y column es el nombre de la columna en la que ordenar los valores, todos los valores nulos se colocan primero. Así que nuestro DataFrame está listo. Demostremos la función desc_nulls_first().

Ejemplo 1

Ahora ordenamos los valores en la columna tecnología1, que contiene valores Ninguno/Nulo, en orden descendente usando la función desc_nulls_first(). #clasifique la columna tecnología1 en orden descendente y obtenga los valores nulos primero.dataframe_obj.select(dataframe_obj.technology1).orderBy(dataframe_obj.technology1.desc_nulls_first()).show()
Producción:

De hecho, hay dos valores nulos. Primero se colocan y luego se ordenan HTML y CSS en orden descendente.

ejemplo 2

Ahora ordenamos los valores en la columna tecnología2 ​​que contiene valores Ninguno/Nulo en orden descendente usando la función desc_nulls_first(). #Ordene la columna tecnología2 ​​en orden descendente y obtenga los valores nulos primero.dataframe_obj.select(dataframe_obj.technology2).orderBy(dataframe_obj.technology2.desc_nulls_first()).show()
Producción:

De hecho, hay dos valores nulos. Primero se colocan y luego PySpark y .NET se ordenan en orden descendente.

función desc_nulls_last()

La función desc_nulls_last() ordena los valores de una columna en orden descendente, pero coloca los valores nulos existentes en una columna. Se puede usar con el método select() para seleccionar las columnas ordenadas. Es muy importante usar orderBy() porque lo principal aquí es que sort.orderBy() toma desc_nulls_first() como parámetro.

sintaxis

dataframe_obj.select(dataframe_obj.column).orderBy(dataframe_obj.column.desc_nulls_last()) donde dataframe_obj es el DataFrame y column es el nombre de la columna en la que se ordenan los valores de modo que todos los valores nulos se colocan en último lugar. Entonces nuestro DataFrame está listo. Demostremos la función desc_nulls_last().

Ejemplo 1

Ahora ordenamos los valores en la columna tecnología2 ​​con valores Ninguno/Nulo en orden descendente usando la función desc_nulls_last(). #Ordene la columna de tecnología1 en orden descendente y obtenga valores nulos last.dataframe_obj.select(dataframe_obj.technology1).orderBy(dataframe_obj.technology1.desc_nulls_last()).show()
Producción:

De hecho, hay dos valores nulos. Primero, HTML y CSS se ordenan en orden descendente, y dos valores nulos se colocan en último lugar.

ejemplo 2

Ahora ordenamos los valores en la columna tecnología2 ​​que contiene valores Ninguno/Nulo en orden descendente usando la función desc_nulls_last(). #Ordene la columna tecnología2 ​​en orden descendente y obtenga los valores nulos last.Dataframe_obj.select(dataframe_obj.technology2).orderBy(dataframe_obj.technology2.desc_nulls_last()).show()
Producción:

De hecho, hay dos valores nulos. Primero, .NET y PySpark se ordenan en orden descendente, y dos valores nulos se colocan en último lugar.

código general

importar pyspark desde pyspark.sql importar SparkSession spark_app = SparkSession.builder.appName(‘_’).getOrCreate() estudiantes =[(4,’sravan’,23,None,None),
           (4,’chandana’,23,’CSS’,’PySpark’),
           (46,’mounika’,22,None,’.NET’),
           (4,’deepika’,21,’HTML’,None),
              ]

dataframe_obj = spark_app.createDataFrame(Estudiantes,[‘subject_id’,’name’,’age’,’technology1′,’technology2′]). orden descendente y obtenga los valores nulos primero.dataframe_obj.select(dataframe_obj.technology2).orderBy(dataframe_obj.technology2.desc_nulls_first()).show()#ordene la columna tecnología1 en orden descendente y obtenga los valores nulos al final .dataframe_obj.select (dataframe_obj.technology1) desc_nulls_last()).show()

Conclusión

Al final de este tutorial de PySpark, aprendimos que es posible tratar con valores nulos al ordenar los valores en un DataFrame usando las funciones desc_nulls_first() y desc_nulls_last(). La función desc_nulls_first() ordena los valores de una columna en orden descendente, pero coloca primero los valores nulos existentes en una columna. La función desc_nulls_last() ordena los valores de una columna en orden descendente, pero coloca los valores nulos existentes en una columna en último lugar. Puede ejecutar todo el código proporcionado en la última parte del tutorial.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.