PySpark 在过滤器中使用 OR 运算符

问题描述 投票:0回答:1

我有一个数组,正在对其进行索引以过滤来自加利福尼亚州城市的数据。

此过滤器的工作原理:

raw_df_2 = raw_df_1.filter(array_contains(col("country.state.city"), 'San Diego'))

但是,当我扩展到其他城市时:

raw_df_2 = raw_df_1.filter(array_contains(col("country.state.city"), 'San Diego') || array_contains(col("country.state.city"), 'Sacramento') || array_contains(col("country.state.city"), 'Los Angeles'))

我明白了

SyntaxError: invalid syntax

我也尝试过

raw_df_2 = raw_df_1.filter(array_contains(col("country.state.city"), 'San Diego' || 'Sacramento' || 'Los Angeles'))

但这也会返回

SyntaxError: invalid syntax

Spark 中 OR 运算符过滤加州城市数据的正确用法是什么?

python apache-spark pyspark operators
1个回答
0
投票

逻辑或使用单竖线 (

|
)。

raw_df_2 = raw_df_1.filter(array_contains(col("country.state.city"), 'San Diego') | array_contains(col("country.state.city"), 'Sacramento') | array_contains(col("country.state.city"), 'Los Angeles'))
© www.soinside.com 2019 - 2024. All rights reserved.