array_prepend

Retourneert een matrix met het opgegeven element als het eerste element en de rest van de elementen van de oorspronkelijke matrix.

Toegevoegd in Databricks Runtime 13.1

Syntaxis

from pyspark.sql import functions as sf

sf.array_prepend(col, value)

Parameterwaarden

Kenmerk Typologie Description
col pyspark.sql.Column of str Naam van kolom met matrix
value Welke dan ook Een letterlijke waarde of een kolomexpressie.

Retouren

pyspark.sql.Column: een matrix met de opgegeven waarde die vooraf is gegaan.

Voorbeelden

Voorbeeld 1: Een kolomwaarde voorbereiden op een matrixkolom

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]|
+---------------------+

Voorbeeld 2: Een numerieke waarde vooraf laten gaan aan een matrixkolom

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]|
+----------------------+

Voorbeeld 3: Een null-waarde voorbereiden op een matrixkolom

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]|
+-------------------------+

Voorbeeld 4: Een waarde voorbereiden op een NULL-matrixkolom

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|
+----------------------+

Voorbeeld 5: Een waarde voorbereiden op een lege matrix

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]|
+----------------------+