Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne une nouvelle colonne de tableau en coupant la colonne du tableau d’entrée d’un index de début à une longueur spécifique. Les index commencent à 1 et peuvent être négatifs à indexer à partir de la fin du tableau. La longueur spécifie le nombre d’éléments dans le tableau résultant.
Syntaxe
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
x |
pyspark.sql.Column ou str |
Colonne de tableau d’entrée ou nom de colonne à segmenter. |
start |
pyspark.sql.Column, str ou int |
Index de début de l’opération de tranche. Si elle est négative, démarre l’index à partir de la fin du tableau. |
length |
pyspark.sql.Column, str ou int |
Longueur de la tranche, représentant le nombre d’éléments dans le tableau résultant. |
Retours
pyspark.sql.Column: nouvel objet Column de type Array, où chaque valeur est une tranche de la liste correspondante de la colonne d’entrée.
Examples
Exemple 1 : Utilisation de base de la fonction de tranche.
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]|
+--------------+
Exemple 2 : découpage avec un index de début négatif.
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]|
+---------------+
Exemple 3 : Fonction de tranche avec les entrées de colonne pour le début et la longueur.
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]|
+-----------------------+