Pyspark - удалить несколько элементов из столбца массива - PullRequest
0 голосов
/ 08 января 2020

pyspark предоставляет функцию array_remove (column: Column, element: Any), которая возвращает столбец после удаления всех значений, равных элементу. Пример из документов AIP:

>>> df = spark.createDataFrame([([1, 2, 3, 1, 1],), ([],)], ['data'])
>>> df.select(array_remove(df.data, 1)).collect()
[Row(array_remove(data, 1)=[2, 3]), Row(array_remove(data, 1)=[])]

Мне было интересно, есть ли какой-нибудь прямой способ (кроме простого l oop) использовать эту функцию для удаления нескольких элементов (представленных в списке) из колонка.

Примечание: как указано в jx c, можно использовать метод array_except (). Тем не менее, для моего варианта использования после фильтрации я должен сохранять элементы массива в том же порядке, и когда я тестировал с array_except, порядок не поддерживался.

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