У меня есть фрейм данных, который имеет разные типы данных (список, словарь, список словаря, строки и т. Д.).
df = pd.DataFrame([{'category': [{'id': 1, 'name': 'House Targaryen'}],
'connection': ['Rhaena Targaryen', 'Aegon Targaryen'],
'description': 'Jon Snow, born Aegon Targaryen, is the son of Lyanna Stark '
'and Rhaegar Targaryen, the late Prince of Dragonstone',
'name': 'Jon Snow'},
{'category': [{'id': 2, 'name': 'House Stark'},
{'id': 3, 'name': 'Nights Watch'}],
'connection': ['Robb Stark', 'Sansa Stark', 'Arya Stark', 'Bran Stark'],
'description': 'After successfully capturing a wight and presenting it to '
'the Lannisters as proof that the Army of the Dead are real, '
'Jon pledges himself and his army to Daenerys Targaryen.',
'name': 'Jon Snow'}])
Я хочу объединить эти две строки на Jon Snow
и объединить все остальные поля вместе, чтобы это выглядело как
name category description connection
Jon Snow ['House Targaryen','House Stark','Nights Watch'] Jon Snow, born ...... his army to Daenerys Targaryen. ['Rhaena Targaryen',...,'Bran Stark']
Это может быть немного сложно со списком словарей,так как это игрушечный пример, он содержит только две строки, и его легко explode
и объединить две строки категории вместе. Но я не думаю, что это практично в моем наборе данных.
Я тоже думал об использовании df.groupby('name').aggregate('category': func1,'description':func2, 'connection':func3)
, но я не уверен, есть ли встроенная функция для того, что мне нужно.
Спасибо, yall за помощь!