Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Devolve uma nova coluna de array ao fatiar a coluna de array de entrada desde um índice inicial até um comprimento específico. Os índices começam em 1 e podem ser negativos para o índice a partir do final do array. O comprimento especifica o número de elementos no array resultante.
Sintaxe
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Parâmetros
| Parâmetro | Tipo | Description |
|---|---|---|
x |
pyspark.sql.Column ou str |
Nome da coluna ou coluna do array de entrada a ser cortado. |
start |
pyspark.sql.Column, string, ou inteiro |
O índice inicial para a operação de fatia. Se for negativo, começa o índice a partir do final do array. |
length |
pyspark.sql.Column, string, ou inteiro |
O comprimento da fatia, representando o número de elementos na matriz resultante. |
Devoluções
pyspark.sql.Column: Um novo objeto Coluna do tipo Array, onde cada valor é uma fatia da lista correspondente da coluna de entrada.
Examples
Exemplo 1: Utilização básica da função de slice.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, 2, 2)).show()
+--------------+
|slice(x, 2, 2)|
+--------------+
| [2, 3]|
| [5]|
+--------------+
Exemplo 2: Fatiar com índice inicial negativo.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, -1, 1)).show()
+---------------+
|slice(x, -1, 1)|
+---------------+
| [3]|
| [5]|
+---------------+
Exemplo 3: Função de corte com entradas de coluna para início e comprimento.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3], 2, 2), ([4, 5], 1, 3)], ['x', 'start', 'length'])
df.select(sf.slice(df.x, df.start, df.length)).show()
+-----------------------+
|slice(x, start, length)|
+-----------------------+
| [2, 3]|
| [4, 5]|
+-----------------------+