web-dev-qa-db-fra.com

Comment filtrer la colonne sur les valeurs de la liste dans pyspark?

J'ai une donnée brute de trame de données sur laquelle je dois appliquer la condition de filtre sur la colonne X avec les valeurs CB, CI et CR. J'ai donc utilisé le code ci-dessous:

df = dfRawData.filter(col("X").between("CB","CI","CR"))

Mais j'obtiens l'erreur suivante:

entre () prend exactement 3 arguments (4 donnés)

Veuillez me faire savoir comment résoudre ce problème.

6
LKA

between est utilisé pour vérifier si la valeur est comprise entre deux valeurs, l'entrée est une borne inférieure et une borne supérieure. Il ne peut pas être utilisé pour vérifier si une valeur de colonne est dans une liste. Pour ce faire, utilisez isin:

df = dfRawData.where(col("X").isin({"CB", "CI", "CR"}))