Оператор данных Pyspark "IS IN IN IN"

Я хотел бы переписать это из R в Pyspark, любые приятные предложения?

array <- c(1,2,3)
dataset <- filter(!(column %in% array))

Ответ 1

В pyspark вы можете сделать это вот так:

array = [1, 2, 3]
dataframe.filter(dataframe.column.isin(*array) == False)

Ответ 2

df_result = df[df.column_name.isin([1, 2, 3]) == False]

Ответ 3

Возьмите оператор ~, что означает обратное:

df_filtered = df.filter(~df["column_name"].isin([1, 2, 3]))

Ответ 4

немного отличающийся синтаксис и набор данных "дата":

toGetDates={'2017-11-09', '2017-11-11', '2017-11-12'}
df= df.filter(df['DATE'].isin(toGetDates) == False)

Ответ 5

Вы также можете зациклить массив и фильтр:

array = [1, 2, 3]
for i in array:
    df = df.filter(df["column"] != i)