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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)