Я хочу динамически фильтровать нулевые значения во входном кадре данных, поскольку столбцы значений могут быть из значения (1) ... значение (n)
Входной кадр данных:
|dim1|dim2|TR_LIST|value1|value2|
| 101| 201|MTD0001| 1| 21|
| 101| 201|MTD0001| null| null|
| 101| 201|MTD0001| null| null|
| 102| 202|MTD0002| null| null|
| 102| 202|MTD0002| 2| 22|
| 102| 202|MTD0002| null| null|
| 103| 203|MTD0003| null| null|
| 103| 203|MTD0003| null| null|
| 103| 203|MTD0003| 3| 23|
Выходной фрейм данных:
|dim1|dim2|TR_LIST|value1|value2|
| 101| 201|MTD0001| 1| 21|
| 102| 202|MTD0002| 2| 22|
| 103| 203|MTD0003| 3| 23|
Я попытался выполнить фильтрацию, используя метод for l oop в методе фильтра dataframe, но получил ошибку, как (это должно быть либо str, либо columm), из командной строки попытался:
list_valiue = [value1, value2] #Here i will be passing value columns as a list
df.filter(df.value.isNotNull() for value in list_value) #Throwing an error
также пробовал другим способом:
df.where(" AND ".join([df.%s.isNotNull())"%(li) for li in list_value])).show() # Even I'm getting error here
Пожалуйста, укажите все, что я выполнил в вышеуказанных запросах ??