栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PySpark:when子句中的多个条件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PySpark:when子句中的多个条件

SyntaxError
由于Python没有
&&
运算符,因此会出现错误异常。它具有
and
&
而后者是在上面创建布尔表达式的正确选择
Column
|
对于逻辑析取和
~
逻辑求反)。

您创建的条件也是无效的,因为它不考虑运算符的优先级。

&
在Python中,优先级高于,
==
因此必须在表达式中加上括号。

(col("Age") == "") & (col("Survived") == "0")## Column<b'((Age = ) AND (Survived = 0))'>

顺便说一句,

when
函数等效于
case
表达式not
WHEN
子句。仍然适用相同的规则。连词:

df.where((col("foo") > 0) & (col("bar") < 0))

析取:

df.where((col("foo") > 0) | (col("bar") < 0))

当然,您可以单独定义条件以避免使用括号:

cond1 = col("Age") == "" cond2 = col("Survived") == "0"cond1 & cond2


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号