Как добавить пустой массив, используя when и иначе в pyspark - PullRequest
0 голосов
/ 04 августа 2020

Как добавить пустой массив при использовании df.withColomn when() и otherwise(***empty_array***) Новый тип столбца - T.ArrayType(T.StringType()) из UDF

Я хочу, чтобы не заканчивались значения NaN.

Ответы [ 2 ]

2 голосов
/ 04 августа 2020

Просто используйте array(lit(None))

df.select(when(col('target_bool')=='true',array(lit(1))).otherwise(array(lit(None)))).show()
0 голосов
/ 04 августа 2020

Попробуйте ниже - создайте столбец со значением None и приведите его к Array ()

df_b = df_b.withColumn("empty_array", F.when(F.col("rn") == F.lit("1"), (None))).withColumn("empty_array", F.col("empty_array").cast(T.ArrayType(T.StringType())))
df_b.show()



 root
 |-- col1: string (nullable = true)
 |-- col2: string (nullable = true)
 |-- rn: integer (nullable = true)
 |-- case_condition: integer (nullable = true)
 |-- empty_array: array (nullable = true)
 |    |-- element: string (containsNull = true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...