我有一個字典串列,我想合并具有相同鍵值的字典,以便以后在資料框中使用。 PS:我不知道熊貓自己能不能解決這個問題。也許沒有必要附加字典。
我的字典串列:
[{'country': 'Brazil', 'State': 'S?o Paulo', 'description': '"Estado de S?o Paulo"'},
{'country': 'Brazil', 'State': 'Rio de Janeiro', 'description': '"Estado do Rio de Janeiro"'},
{'country': 'Brazil', 'State': 'Rio de Janeiro', 'population': '12345'},
{'country': 'Brazil', 'State': 'Rio de Janeiro', 'work_force': '2345'},
{'country': 'Brazil', 'State': 'Paraná', 'description': '"Estado do Paraná"'},
{'country': 'Brazil', 'State': 'Santa Catarina', 'description': '"Estado de Santa Catarina"'},
{'country': 'Brazil', 'State': 'Santa Catarina', 'population': '54321'},
{'country': 'Brazil', 'State': 'Santa Catarina', 'work_force': '4321'}]
創建資料框時的輸出:
country State description population work_force
0 Brazil S?o Paulo "Estado de S?o Paulo" NaN NaN
1 Brazil Rio de Janeiro "Estado do Rio de Janeiro" NaN NaN
2 Brazil Rio de Janeiro NaN 12345 NaN
3 Brazil Rio de Janeiro NaN NaN 2345
4 Brazil Paraná "Estado do Paraná" NaN NaN
5 Brazil Santa Catarina "Estado de Santa Catarina" NaN NaN
6 Brazil Santa Catarina NaN 54321 NaN
7 Brazil Santa Catarina NaN NaN 4321
我需要的:
country State description population work_force
0 Brazil S?o Paulo "Estado de S?o Paulo" NaN NaN
1 Brazil Rio de Janeiro "Estado do Rio de Janeiro" 12345 2345
2 Brazil Paraná "Estado do Paraná" NaN NaN
3 Brazil Santa Catarina "Estado de Santa Catarina" 54321 4321
當我合并 dicts 時,實作了所需的輸出:
{'country': 'Brazil', 'State': 'Rio de Janeiro', 'description': '"Estado do Rio de Janeiro"', 'population': '12345', 'work_force': '2345'},
{'country': 'Brazil', 'State': 'Paraná', 'description': '"Estado do Paraná"'},
{'country': 'Brazil', 'State': 'Santa Catarina', 'description': '"Estado de Santa Catarina"', 'population': '54321', 'work_force': '4321'}]
因此,我正在尋找基于關鍵“狀態”將這些 dicts 合并為單個 on 的方法。
uj5u.com熱心網友回復:
是的,熊貓可以處理這個。對國家和州進行分組并取第一個值:
df.groupby(["country","State"],sort=False).first().reset_index()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454540.html
