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.

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