У меня есть фрейм данных, где каждая строка представляет собой список пар. Например, у меня есть датафрейм df, который выглядит примерно так:
id | pairs
1 | (a, b), (b, c), (a, c)
2 | (a, b), (b, d)
3 | (b, c)
id: Int
pairs: Array<Struct<String,String>>
После обработки кадр данных должен выглядеть примерно так:
pairs |
(a, b) |
(b, c) |
(a, c) |
(a, b) |
(b, d) |
(b, c) |
Мне действительно не нужен столбец id
, поэтому также работает решение, которое отбрасывает все остальные столбцы данных. Также обратите внимание, что дубликаты не могут быть удалены из кадра данных. Если есть 3 экземпляра пары, мне нужны все 3 в новом фрейме данных.
Я пробовал индивидуально перебирать содержимое и добавлять его в глобальный список, но этот подход слишком медленный. (В конце концов я запускаю задание Spark, где мне требуется этот бит для некоторой предварительной обработки.) Существует ли эффективный способ сделать это без необходимости перебирать каждый элемент каждого списка в каждой строке кадра данных?
Цените любую помощь в этом!