Как удалить строки из фрейма данных?


У меня есть dataframe df

   df.show()
   id|data|somedata
   1 |k   |v
   2 |s   |d
   3 |f   |k
   .
   .
   .

Я попытался удалить строки из df, которые id существуют в lisst=List (4,9,200), поэтому я использовал drop следующим образом

   val df1=df.drop(col("id").isin(lisst:_*))

Но не работает и я пробовал

   val df1=df.filter(col("id").isin(lisst:_*).drop("id"))

Но df1 имеют те же строки в df

1 2

1 ответ:

Простое использование filter или where с условием должно работать; никакой drop не требуется, если вы не планируете удалять столбцы:

df.filter(!col("id").isin(lisst:_*))

Или:

df.where(!col("id").isin(lisst:_*))