Pular para o conteúdo principal

pegar

Retorna o elemento de uma matriz no índice fornecido (baseado em 0). Se o índice apontar para fora dos limites da matriz, essa função retornará NULL. A posição não é baseada em 1, mas sim em um índice baseado em 0.

Sintaxe

Python
from pyspark.sql import functions as sf

sf.get(col, index)

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Nome da coluna que contém a matriz.

index

pyspark.sql.Column, str ou int

Índice a ser verificado na matriz.

Devoluções

pyspark.sql.ColumnValor na posição indicada.

Exemplos

Exemplo 1 : Posicionando um elemento em uma posição fixa

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

Exemplo 2 : Obtendo um elemento em uma posição fora dos limites da matriz

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

Exemplo 3 : Obtendo um elemento em uma posição especificada por outra coluna

Python
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()
Output
+----------------+
|get(data, index)|
+----------------+
| c|
+----------------+

Exemplo 4 : Obtendo um elemento em uma posição calculada a partir de outra coluna

Python
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()
Output
+----------------------+
|get(data, (index - 1))|
+----------------------+
| b|
+----------------------+

Exemplo 5 : Obtendo um elemento em uma posição negativa

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