Как использовать булеву логику внутри фрейма данных pyspark для множеств - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь создать новый столбец в фрейме данных pyspark, который основан на содержимом другого столбца. В другом столбце есть все целые числа, и я хочу, чтобы новый столбец кодировался с 1 или 0.

import pyspark.sql.functions as F
df2 = df2.withColumn('Industrial', F.when(F.col('CODE') in (1,2,3,4), 1).otherwise(0))

Это не работает, так как оно требует только логической логики. Есть ли обходной путь для этого?

РЕДАКТИРОВАТЬ: все еще может быть полезным для других, так как он создает новый столбец и делает немного больше, чем просто проверка isin ().

1 Ответ

1 голос
/ 29 мая 2019

Использование col.isin метод

df2 = df2.withColumn('Industrial', F.when(F.col('CODE').isin((1,2,3,4)), 1).otherwise(0))
...