如何按键值对嵌套字典进行分组?例如,我的字典如下所示:
{'comb_indx': {0: '3925220EE', 1: '3925220EE', 2: '3925220EE', 3: '66478EE', 4: '66478EE', 5: '66478EE', 6: '42300EE', 7: '42300EE', 8: '42300EE'}, country': {0: 'EE', 1: 'EE', 2: ''EE', 3: 'EE', 4: 'EE', 5: 'EE', 6: 'EE', 7: 'EE', 8: 'EE'}, 'type': {0: 'CREDIT_ACCOUNT', 1: 'CREDIT_ACCOUNT', 2: 'CREDIT_ACCOUNT', 3: 'SMALL_LOAN', 4: 'SMALL_LOAN', 5: 'SMALL_LOAN', 6: 'SMALL_LOAN', 7: 'SMALL_LOAN', 8: 'SMALL_LOAN'}}
我想把这本字典转换成smth这样:基本上,group by 'comb_indx'中的值:
{
{ 'comb_indx': 3925220EE, 'country': {0: 'EE', 1: 'EE', 2: ''EE'}, 'type': {0: 'CREDIT_ACCOUNT', 1: 'CREDIT_ACCOUNT', 2: 'CREDIT_ACCOUNT'}},
{ 'comb_indx': 66478EE, 'country': {3: 'EE', 4: 'EE', 5: ''EE'}, 'type': {3: 'SMALL_LOAN', 4: 'SMALL_LOAN', 5: 'SMALL_LOAN'}},
{ 'comb_indx': 42300EE, 'country': {6: 'EE', 7: 'EE', 8: ''EE'}, 'type': {6: 'SMALL_LOAN', 7: 'SMALL_LOAN', 8: 'SMALL_LOAN'}},
}
基本上,按'comb_indx'中的值分组。
我试过所有类似的问题,但总是出错。
2条答案
按热度按时间e7arh2l61#
您可以使用defaultdict按'comb_indx'值对项目进行分组,然后将defaultdict转换回字典列表:
输出:
bxjv4tth2#
我会使用pandas.DataFrame.groupby。
如果pandas不是一个选项,那么一个简单的循环呢?