Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce una nuova colonna di matrice sezionando la colonna della matrice di input da un indice iniziale a una lunghezza specifica. Gli indici iniziano da 1 e possono essere negativi per l'indice dalla fine della matrice. La lunghezza specifica il numero di elementi nella matrice risultante.
Sintassi
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
x |
pyspark.sql.Column o str |
Colonna o nome colonna della matrice di input da sezionare. |
start |
pyspark.sql.Column, stringa o intero |
Indice iniziale per l'operazione di sezione. Se negativo, avvia l'indice dalla fine della matrice. |
length |
pyspark.sql.Column, stringa o intero |
Lunghezza della sezione che rappresenta il numero di elementi nella matrice risultante. |
Restituzioni
pyspark.sql.Column: nuovo oggetto Column di tipo Array, dove ogni valore è una sezione dell'elenco corrispondente dalla colonna di input.
Esempi
Esempio 1: Utilizzo di base della funzione 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]|
+--------------+
Esempio 2: sezionamento con indice iniziale 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]|
+---------------+
Esempio 3: Funzione slice con input di colonna per inizio e lunghezza.
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]|
+-----------------------+