У меня есть фрейм данных со столбцами code
и images
.
Столбец images
- это строка urls
, соединенная запятой: <URL>,<URL2>,...
Столбец code
НЕ уникален, и мне нужно сделать его уникальным, но сохранить все изображения (из всех вариантов) в новом столбце images_all
.
Например:
code something images
1 x url1,url2,url3
1 x url1,url4
Результат: code something images_all 1 x url1, url2, url3, url4
Я сделал
grouped = csv.groupby('code')
csv = csv.drop_duplicates(subset=['code'], keep='last')
csv['images_all'] = csv.apply(lambda r: list(set(
[image for image in grouped.get_group(r['code'])['images']]
)))
, что вызывает:
KeyError: 'code'
Но даже если он не поднял это , проблема в том, что изображения не будут [url1,url2,url3,url4]
. Вместо этого это будет ["url1,url2,url3","url1,url4"]
.
Вы знаете, как это исправить?
EDIT
Я также хочу сохранить другие столбцы (они одинаковы для всех строк с одинаковым кодом, поэтому я затем просто drop_duplicates и сохраняю последнюю строку)