У меня расплавленный фрейм данных, который выглядит следующим образом:
# +---+--------+----------+
# | id| c_type|c_type_val|
# +---+--------+----------+
# | 1|c_type_1| null|
# | 1|c_type_2| null|
# | 1|c_type_3| r|
# | 2|c_type_1| a|
# | 2|c_type_2| null|
# | 2|c_type_3| null|
# | 3|c_type_1| null|
# | 3|c_type_2| null|
# | 3|c_type_3| null|
# +---+--------+----------+
Я хочу сжать строки до строк со значением или для тех, у которых нет значения, я бы хотел установить их внулевой тип и нулевое значение, например, так:
# +---+--------+----------+
# | id| c_type|c_type_val|
# +---+--------+----------+
# | 1|c_type_3| r|
# | 2|c_type_1| a|
# | 3| null| null|
# +---+--------+----------+
Первоначально я фильтровал вот так, но он отбрасывает всю строку для id = 3:
df.filter(df.c_type_val.isNotNull()).show()