как добавить новый столбец в pyspark и поставить его значения на основе другого столбца? - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть набор данных следующим образом nogk - это фрейм данных со столбцами из нескольких элементов . Теперь я хочу создать новый столбец filed_position, который принимает только 3 значения в зависимости от положения. новый столбец может принять только 3 значения защитника, вперед или середину . Каков наилучший способ решения проблемы. Должен ли я использовать следующий код или l oop основную позицию код, который я использовал, но мне нужно получить "DEF" для все значения, которые есть в списке DEFENDER .

1 Ответ

0 голосов
/ 26 апреля 2020

Чтобы сравнить значения с предоставленным списком, вам нужно использовать функцию isin и w = для многократного сравнения, которое необходимо выполнить при сцеплении ..

nogk=nogk.withColumn('Field Position',F.when((F.col('Position').isin(DEFENDER),'DEF').when(
F.col('Position').isin(FORWARD),'FWD').when(
F.col('Position').isin(MIDDLE),'MID').otherwise(F.lit('0'))

где DEFENDER, FORWARD и MIDDLE - ваш список значений для сравнения.

Надеюсь, это поможет.

...