Aller au contenu principal

array_prepend

Renvoie un tableau contenant l'élément donné comme premier élément et le reste des éléments du tableau d'origine.

Ajouté dans Databricks Runtime 13.1

Syntaxe

Python
from pyspark.sql import functions as sf

sf.array_prepend(col, value)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant le tableau

value

Tout

Une valeur littérale ou une expression de colonne.

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant le tableau

value

Tout

Une valeur littérale ou une expression de colonne.

Renvoie

pyspark.sql.Column: un tableau avec la valeur donnée ajoutée en préfixe.

Exemples

Exemple 1 : Ajout d'un préfixe à la valeur d'une colonne de tableau

Python
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2="c")])
df.select(sf.array_prepend(df.c1, df.c2)).show()
Output
+---------------------+
|array_prepend(c1, c2)|
+---------------------+
| [c, b, a, c]|
+---------------------+

Exemple 2 : Préfixer une valeur numérique à une colonne de tableau

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],)], ['data'])
df.select(sf.array_prepend(df.data, 4)).show()
Output
+----------------------+
|array_prepend(data, 4)|
+----------------------+
| [4, 1, 2, 3]|
+----------------------+

Exemple 3 : Ajout en préfixe d’une valeur nulle à une colonne de tableau

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],)], ['data'])
df.select(sf.array_prepend(df.data, None)).show()
Output
+-------------------------+
|array_prepend(data, NULL)|
+-------------------------+
| [NULL, 1, 2, 3]|
+-------------------------+

Exemple 4 : ajout d'une valeur à une colonne de tableau NULL

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([
StructField("data", ArrayType(IntegerType()), True)
])
df = spark.createDataFrame([(None,)], schema=schema)
df.select(sf.array_prepend(df.data, 4)).show()
Output
+----------------------+
|array_prepend(data, 4)|
+----------------------+
| NULL|
+----------------------+

Exemple 5 : Préfixer une valeur à un tableau vide

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([
StructField("data", ArrayType(IntegerType()), True)
])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.array_prepend(df.data, 1)).show()
Output
+----------------------+
|array_prepend(data, 1)|
+----------------------+
| [1]|
+----------------------+