ฉันมี dataframe ที่หลอมละลายซึ่งมีลักษณะดังนี้:
# +---+--------+----------+
# | 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|
# +---+--------+----------+
ฉันต้องการย่อแถวให้เหลือเฉพาะแถวที่มีค่าหรือสำหรับแถวที่ไม่มีค่า ฉันต้องการตั้งค่าให้เป็นประเภท null และค่า 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()