array_prepend

Retourne 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

from pyspark.sql import functions as sf

sf.array_prepend(col, value)

Paramètres

Paramètre Type Descriptif
col pyspark.sql.Column ou str Nom de colonne contenant le tableau
value N'importe lequel Valeur littérale ou expression column.

Retours

pyspark.sql.Column: tableau avec la valeur donnée précédée.

Examples

Exemple 1 : Préincédence d’une valeur de colonne dans une colonne de tableau

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()
+---------------------+
|array_prepend(c1, c2)|
+---------------------+
|         [c, b, a, c]|
+---------------------+

Exemple 2 : Préintération d’une valeur numérique dans une colonne de tableau

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

Exemple 3 : Prédéfini d’une valeur Null dans une colonne de tableau

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

Exemple 4 : Prédéfiniment d’une valeur dans une colonne de tableau NULL

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()
+----------------------+
|array_prepend(data, 4)|
+----------------------+
|                  NULL|
+----------------------+

Exemple 5 : Préincédence d’une valeur dans un tableau vide

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()
+----------------------+
|array_prepend(data, 1)|
+----------------------+
|                   [1]|
+----------------------+