我想检查列的值是否在某些边界内。如果它们不在,我将向数组列"F"附加一些值。这是我目前的代码:
df = spark.createDataFrame(
[
(1, 56),
(2, 32),
(3, 99)
],
['id', 'some_nr']
)
df = df.withColumn( "F", F.lit( None ).cast( types.ArrayType( types.ShortType( ) ) ) )
def boundary_check( val ):
if (val > 60) | (val < 50):
return 1
udf = F.udf( lambda x: boundary_check( x ) )
df = df.withColumn("F", udf(F.col("some_nr")))
display(df)
然而,我不知道如何将内容添加到数组中。目前,如果我对“df”进行另一个边界检查,它将简单地覆盖“F”中之前的值...