2

J'ai une datadata rawdata sur laquelle je dois appliquer la condition de filtre sur la colonne X avec les valeurs CB, CI et CR. Donc, je le code ci-dessous:Comment filtrer la colonne sur les valeurs dans la liste dans pyspark?

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

Mais je reçois l'erreur suivante:

between() takes exactly 3 arguments (4 given)

S'il vous plaît laissez-moi savoir comment je peux résoudre ce problème.

Répondre

2

between est utilisé pour vérifier si la valeur est 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"})) 
+0

Merci..que fonctionne – LKA