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 |
|---|---|---|
|
| Nom de la colonne contenant le tableau |
| 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]|
+----------------------+