Мне нужно найти способ сгруппировать строки, которые имеют одинаковое значение в столбце, но строки сгруппированы по нескольким столбцам.
Мне нужно сгруппировать строки, представляющие один объект с разными идентификаторами в разных сервисах.
У меня есть датафрейм для панд, который выглядит как
SERV1 SERV2 SERV3 SERV4 SERV5 SERV6
8766 NaN NaN 0989 NaN NaN
8766 NaN 5434 NaN NaN NaN
NaN NaN 5434 3212 NaN NaN
NaN 1236 NaN NaN NaN 6543
NaN 3456 NaN 7862 NaN NaN
NaN NaN NaN 7862 NaN 4767
И желаемый фрейм данных должен выглядеть как
SERV1 SERV2 SERV3 SERV4 SERV5 SERV6
[8766] NaN [5434] [0989,3212] NaN NaN
NaN [1236] NaN NaN NaN [6543]
NaN [3456] NaN [7862] NaN [4767]
Столбцы представляют разные службы, значения представляют идентификатор, который является уникальным только для этого конкретного столбца (одно и то же значение в разных столбцах может быть случайным, но его не следует рассматривать как представляющий один и тот же идентификатор).
Мне удалось создать словарь для каждого столбца с соответствующими значениями, но это не то же самое, что иметь df как тот, который я хотел бы.
Используя
df = grouped.aggregate(lambda x: tuple(x))
Я мог бы достичь аналогичной вещи, но это работает только для группировки одного столбца, а не для связи его с другими, он объединяет все NaN, которые на самом деле не принадлежат друг другу.
Я ищу идеи / решения.
Благодаря.