Compartir a través de


get

Devuelve el elemento de una matriz en el índice especificado (basado en 0). Si el índice apunta fuera de los límites de la matriz, esta función devuelve NULL. La posición no está basada en 1, sino en el índice basado en 0.

Syntax

from pyspark.sql import functions as sf

sf.get(col, index)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o str Nombre de la columna que contiene la matriz.
index pyspark.sql.Column, str o int Índice que se va a comprobar en la matriz.

Devoluciones

pyspark.sql.Column: valor en la posición especificada.

Examples

Ejemplo 1: Obtener un elemento en una posición fija

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 1)).show()
+------------+
|get(data, 1)|
+------------+
|           b|
+------------+

Ejemplo 2: Obtener un elemento en una posición fuera de los límites de la matriz

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 3)).show()
+------------+
|get(data, 3)|
+------------+
|        NULL|
+------------+

Ejemplo 3: Obtener un elemento en una posición especificada por otra columna

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index)).show()
+----------------+
|get(data, index)|
+----------------+
|               c|
+----------------+

Ejemplo 4: Obtención de un elemento en una posición calculada a partir de otra columna

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index - 1)).show()
+----------------------+
|get(data, (index - 1))|
+----------------------+
|                     b|
+----------------------+

Ejemplo 5: Obtener un elemento en una posición negativa

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], )], ['data'])
df.select(sf.get(df.data, -1)).show()
+-------------+
|get(data, -1)|
+-------------+
|         NULL|
+-------------+