Сгруппируйте по одному столбцу и объедините результаты в новом столбце без дублирования - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть фрейм данных с несколькими "узлами" (столбец NODE_ID). Каждый узел может иметь одну или несколько «Ячеек», каждая из которых принадлежит определенной «Технологии»

enter image description here

Я пытаюсь добиться следующего:

enter image description here

Применяя следующий код groupby + lambda join (x), в новом столбце «TECNOLOGIA» 3G повторяется, как и ожидалось:

enter image description here

 dataframe_aux['TECNOLOGIA'] = dataframe_aux.groupby(['NODE_ID'])['TECHNOLOGY'].transform(lambda x: ','.join(x))

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

dataframe_aux['TECNOLOGIA']= dataframe_aux['TECNOLOGIA'].apply(lambda x:"2G, 3G, 4G, 5G" if '2G' in x and '3G' in x and '4G' in x  and '5G' in x
                                                                        else ("2G, 3G, 4G" if '2G' in x and '3G' in x and '4G' in x
                                                                              else ("2G, 3G" if '2G' in x and '3G' in x else ("2G, 4G" if '2G' in x and '4G' in x
                                                                                                                              else ("3G, 4G" if '3G' in x and '4G' in x else x)))))

Не могли бы вы дать мне подсказку, пожалуйста? Заранее спасибо: P

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