数据框上的多条件过滤器

数据框上的多条件过滤器,第1张

数据框上的多条件过滤器

TL; DR
要传递多个条件

filter
where
使用
Column
对象和逻辑运算符(
&
|
~
)。请参见Pyspark:when子句中的多个条件。

df.filter((col("act_date") >= "2016-10-01") & (col("act_date") <= "2017-04-01"))

您还可以使用 单个 SQL字符串:

df.filter("act_date >='2016-10-01' AND act_date <='2017-04-01'")

实际上,在以下两者之间使用更有意义:

df.filter(col("act_date").between("2016-10-01", "2017-04-01"))df.filter("act_date BETWEEN '2016-10-01' AND '2017-04-01'")

第一种方法甚至不是远程有效的。在Python中,

and
返回:

  • 如果所有表达式都是“真话”,则为最后一个元素。
  • 否则,第一个“ falsey”元素。

结果是

"act_date <='2017-04-01'" and "act_date >='2016-10-01'"

评估为(任何非空字符串为真):

"act_date >='2016-10-01'"


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5645856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存