如何过滤pyspark中列表中的值列?
问题描述:
我有一个dataframe rawdata,我必须在列X上使用值CB,CI和CR应用筛选条件。所以我用下面的代码:如何过滤pyspark中列表中的值列?
df = dfRawData.filter(col("X").between("CB","CI","CR"))
但我收到以下错误:
between() takes exactly 3 arguments (4 given)
请让我知道我可以解决这个问题。
答
between
用于检查值是否在两个值之间,输入是下限和上限。它不能用于检查列值是否在列表中。要做到这一点,请使用isin
:
df = dfRawData.where(col("X").isin({"CB", "CI", "CR"}))
Thanks..it works – LKA