Aller au contenu principal

découpage

Retourne une nouvelle colonne de tableau en segmentant la colonne de tableau d'entrée d'un index de start à une longueur spécifique. Les indices commencent à 1 et peuvent être négatifs pour indexer à partir de la fin du tableau. La longueur spécifie le nombre d'éléments dans le tableau résultant.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.slice(x, start, length)

parameter

parameter

Type

Description

x

pyspark.sql.Column ou str

Saisir la colonne de tableau ou le nom de la colonne à découper.

start

pyspark.sql.Column, str ou int

L’index de start de l’Opération de segment. Si négatif, start l'index depuis la fin du tableau.

length

pyspark.sql.Column, str ou int

La longueur de la tranche, représentant le nombre d'éléments dans le tableau résultant.

parameter

Type

Description

x

pyspark.sql.Column ou str

Saisir la colonne de tableau ou le nom de la colonne à découper.

start

pyspark.sql.Column, str ou int

L’index de start de l’Opération de segment. Si négatif, start l'index depuis la fin du tableau.

length

pyspark.sql.Column, str ou int

La longueur de la tranche, représentant le nombre d'éléments dans le tableau résultant.

Renvoie

pyspark.sql.Column: une nouvelle Column object de type Array, où chaque valeur est une tranche de la liste correspondante de la colonne d'entrée.

Exemples

Exemple 1 : utilisation de base de la fonction de tranche.

Python
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()
Output
+--------------+
|slice(x, 2, 2)|
+--------------+
| [2, 3]|
| [5]|
+--------------+

Exemple 2 : Découpage avec un index de start négatif.

Python
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()
Output
+---------------+
|slice(x, -1, 1)|
+---------------+
| [3]|
| [5]|
+---------------+

Exemple 3 : fonction de découpe avec des entrées de colonne pour le start et la longueur.

Python
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()
Output
+-----------------------+
|slice(x, start, length)|
+-----------------------+
| [2, 3]|
| [4, 5]|
+-----------------------+