У меня есть DataFrame df
в PySpark
, как показано ниже -
+-----+--------------------+-------+
| ID| customers|country|
+-----+--------------------+-------+
|56 |xyz Limited |U.K. |
|66 |ABC Limited |U.K. |
|16 |Sons & Sons |U.K. |
|51 |TÜV GmbH |Germany|
|23 |Mueller GmbH |Germany|
|97 |Schneider AG |Germany|
|69 |Sahm UG |Austria|
+-----+--------------------+-------+
Я хотел бы сохранить только те строки, где ID
начинается с 5 или 6. ТакЯ хочу, чтобы мой окончательный кадр данных выглядел следующим образом -
+-----+--------------------+-------+
| ID| customers|country|
+-----+--------------------+-------+
|56 |xyz Limited |U.K. |
|66 |ABC Limited |U.K. |
|51 |TÜV GmbH |Germany|
|69 |Sahm UG |Austria|
+-----+--------------------+-------+
Это может быть достигнуто разными способами, и это не проблема.Но мне интересно узнать, как это можно сделать с помощью оператора LIKE
.
Если бы меня интересовали только те строки, где ID
начинается с 5, это можно было бы легко сделать следующим образом -
df=df.where("ID like ('5%')")
Мой вопрос: КакМогу ли я добавить второе выражение, например "ID like ('6%')"
с OR - |
логическим значением внутри предложения where
?Я хочу сделать что-то подобное показанному ниже, но этот код выдает ошибку.Итак, в двух словах, как я могу использовать несколько логических операторов, используя LIKE and .where
здесь -
df=df.where("(ID like ('5%')) | (ID like ('6%'))")