Partilhar via


get

Devolve o elemento de um array no índice dado (baseado em 0). Se o índice apontar fora dos limites do array, então esta função devolve NULL. A posição não é baseada em 1, mas sim em 0.

Sintaxe

from pyspark.sql import functions as sf

sf.get(col, index)

Parâmetros

Parâmetro Tipo Description
col pyspark.sql.Column ou str Nome da coluna que contém o array.
index pyspark.sql.Column, string, ou inteiro Índice para verificar no array.

Devoluções

pyspark.sql.Column: Valor na posição dada.

Examples

Exemplo 1: Obter um elemento numa posição fixa

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|
+------------+

Exemplo 2: Colocar um elemento numa posição fora dos limites do array

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|
+------------+

Exemplo 3: Obter um elemento numa posição especificada por outra coluna

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|
+----------------+

Exemplo 4: Obter um elemento numa posição calculada a partir de outra coluna

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|
+----------------------+

Exemplo 5: Obter um elemento numa posição 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|
+-------------+