cph*_*sto 6 where-clause dataframe sql-like pyspark
我有一个 DataFrame df
,PySpark
如下所示 -
+-----+--------------------+-------+\n| ID| customers|country|\n+-----+--------------------+-------+\n|56 |xyz Limited |U.K. |\n|66 |ABC Limited |U.K. |\n|16 |Sons & Sons |U.K. |\n|51 |T\xc3\x9cV GmbH |Germany|\n|23 |Mueller GmbH |Germany|\n|97 |Schneider AG |Germany|\n|69 |Sahm UG |Austria|\n+-----+--------------------+-------+\n
Run Code Online (Sandbox Code Playgroud)\n\n我只想保留ID
从 5 或 6 开始的那些行。所以,我希望我的最终数据框看起来像这样 -
+-----+--------------------+-------+\n| ID| customers|country|\n+-----+--------------------+-------+\n|56 |xyz Limited |U.K. |\n|66 |ABC Limited |U.K. |\n|51 |T\xc3\x9cV GmbH |Germany|\n|69 |Sahm UG |Austria|\n+-----+--------------------+-------+\n
Run Code Online (Sandbox Code Playgroud)\n\n这可以通过多种方式实现,而且这不是问题。但是,我有兴趣了解如何使用语句来完成此操作LIKE
。
如果我只对从 5 开始的那些行感兴趣ID
,就可以像这样轻松完成 -
df=df.where("ID like (\'5%\')")\n
Run Code Online (Sandbox Code Playgroud)\n\n我的问题:如何添加第二个语句,例如"ID like (\'6%\')"
boolean OR - |
insidewhere
子句?我想做如下所示的事情,但这段代码给出了错误。所以,简而言之,我如何在此处使用多个布尔语句LIKE and .where
-
df=df.where("(ID like (\'5%\')) | (ID like (\'6%\'))")\n
Run Code Online (Sandbox Code Playgroud)\n
这对我有用
from pyspark.sql import functions as F
df.where(F.col("ID").like('5%') | F.col("ID").like('6%'))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17653 次 |
最近记录: |