Вы хотите условие OR
, но вы дали условие для Treatment_Type
1 AND
2. Таким образом, вы должны дать правильное условие OR
. Вот пример кадра данных
+---+--------+--------------+
| id|Distance|Treatment_Type|
+---+--------+--------------+
| 1| 40| 1|
| 2| 40| 2|
| 3| 40| 3|
| 4| 50| 1|
| 5| 50| 2|
| 6| 50| 3|
| 7| 60| 1|
| 8| 60| 2|
+---+--------+--------------+
При следующих условиях он дает такие же результаты, как показано ниже:
df.select("Distance", "Treatment_Type").filter(col("Distance") >= 50 && (col("Treatment_Type") === 1 || col("Treatment_Type") === 2))
df.select("Distance", "Treatment_Type").filter(col("Distance") >= 50 && col("Treatment_Type").isin(1,2))
df.select("Distance", "Treatment_Type").where("Distance >= 50 and Treatment_Type in (1, 2)").show()
+--------+--------------+
|Distance|Treatment_Type|
+--------+--------------+
| 50| 1|
| 50| 2|
| 60| 1|
| 60| 2|
+--------+--------------+