Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve una nueva columna de matriz mediante la segmentación de la columna de matriz de entrada de un índice inicial a una longitud específica. Los índices comienzan en 1 y pueden ser negativos para indexar desde el final de la matriz. La longitud especifica el número de elementos de la matriz resultante.
Syntax
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
x |
pyspark.sql.Column o str |
Columna de matriz de entrada o nombre de columna que se va a segmentar. |
start |
pyspark.sql.Column, str o int |
Índice inicial de la operación de segmento. Si es negativo, inicia el índice desde el final de la matriz. |
length |
pyspark.sql.Column, str o int |
Longitud del segmento, que representa el número de elementos de la matriz resultante. |
Devoluciones
pyspark.sql.Column: nuevo objeto Column de tipo Array, donde cada valor es un segmento de la lista correspondiente de la columna de entrada.
Examples
Ejemplo 1: Uso básico de la función de segmento.
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]|
+--------------+
Ejemplo 2: Segmentación con índice de inicio 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]|
+---------------+
Ejemplo 3: Función slice con entradas de columna para inicio y longitud.
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]|
+-----------------------+