array_compact

array_compact(col)

array_compact - удаляет все null значения из массива

Параметры
col: Column or str. Колонка, содержащая массив, из которого нужно удалить значения null.
Возвращает
Column новый массив, полученный путем удаления всех значений null из исходного массива.

array_compact example

 from pyspark.sql import SparkSession
from pyspark.sql.functions import array, lit, array_compact

# Создаем SparkSession
spark = SparkSession.builder.getOrCreate()

# Создаем DataFrame с колонками id и values
data = [(1, [1, None, 3, None]), (2, [None, 5, None])]
df = spark.createDataFrame(data, ["id", "values"])
df.show()
+---+------------------+
| id|            values|
+---+------------------+
|  1|[1, null, 3, null]|
|  2|   [null, 5, null]|
+---+------------------+

# Удаляем значения null из массива в колонке values
df2 = df.withColumn("compact_values", array_compact(df.values))

# Выводим результат
df2.show(truncate=False)

+---+------------------+--------------+
| id|            values|compact_values|
+---+------------------+--------------+
|  1|[1, NULL, 3, NULL]|        [1, 3]|
|  2|   [NULL, 5, NULL]|           [5]|
+---+------------------+--------------+

pyspark array_compact

Добавлено в версии3.4.0.