Мне нужно отфильтровать строки из кадра данных на основе некоторых условий, введенных пользователем. Я прочитал CSV-файл, чтобы получить каждое условие в виде строки. Затем используйте код ниже, чтобы выполнить фильтрацию.
dataframe.filter(expr(condition))
Это работает для простых условий, которые не содержат '&', '|'. Пример: "col1! = 0", "col2> 2".
Теперь требуется, чтобы он работал и в сложных условиях.
Ниже приведен пример
dataframe
col1 | col2 | col3 | col4
-----+------+------+------
1.0 | 10 | 100 | x
0.2 | 20 | 200 | y
1.3 | 30 | 300 | x
сложное состояние: "(col1 <1.0) & (col2 + col3)> = 200) & (col4! = 'X')"
Есть ли способ сделать это?