如何过滤 pyspark 列表中值的列?
How to filter column on values in list in pyspark?
我有一个数据框原始数据,我必须在 X 列上应用过滤条件,值为 CB、CI 和 CR。所以我使用了下面的代码:
df = dfRawData.filter(col("X").between("CB","CI","CR"))
但我收到以下错误:
between() takes exactly 3 arguments (4 given)
请告诉我如何解决这个问题。
函数between
用于检查值是否介于两个值之间,输入是下限和上限。它不能用于检查列值是否在列表中。为此,请使用 isin
:
import pyspark.sql.functions as f
df = dfRawData.where(f.col("X").isin(["CB", "CI", "CR"]))
我有一个数据框原始数据,我必须在 X 列上应用过滤条件,值为 CB、CI 和 CR。所以我使用了下面的代码:
df = dfRawData.filter(col("X").between("CB","CI","CR"))
但我收到以下错误:
between() takes exactly 3 arguments (4 given)
请告诉我如何解决这个问题。
函数between
用于检查值是否介于两个值之间,输入是下限和上限。它不能用于检查列值是否在列表中。为此,请使用 isin
:
import pyspark.sql.functions as f
df = dfRawData.where(f.col("X").isin(["CB", "CI", "CR"]))