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

Мне нужно изменить выражение значения на основе условия. Например, предположим, что это мой DF:

 1             |  2.      |   
---------------------------
[a ,b]         |  7       
a              |  7
[1, a, b].     |  6
a              |  3
b              |  2
[a,b]          |  7

Я хочу (если столбец 2 имеет значение 7), тогда ... каждое "a" в столбце 1 подлежит удалению. То есть, если, например, «a» находится внутри массива [a, b], я хочу, чтобы массив содержал только b. И если он один в виде строки, а не внутри массива, то я хочу, чтобы он был пустым.

Результатом должен быть следующий кадр данных:

 1             |  2     |   
---------------------
[b]            |  7            
               |  7``
[1,a, b]       |  6
a              |  3
b              |  2
[,b]           |  7

Сводка: если в столбце 2 есть «7», затем удалите «a» из столбца 1

Я попытался сначала взорвать первый столбец, чтобы каждое значение либо в массиве, либо в одной строке помещалось в разные строка. И затем я хочу удалять значение этого столбца каждый раз, когда второй столбец имеет значение 7. Но у меня это не совсем получилось.

Я понял, что может быть более простой способ сделать регулярное выражение - ЗАМЕНИТЕ, что превращает каждое «а» в «» (пустая вкладка). Но как мне заменить выражение reg, основываясь на условии, что во втором столбце указано значение 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...