У меня есть расплавленный фрейм данных, который выглядит так:
# +---+--------+----------+
# | 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()