python - 获取嵌套字典中重复键的总计数
问题描述
基本上我有这样的数据框
col1 col2 col3 col4
1. 554862122 55110385224 PR 26
2. 5242700637 55110385236 CO 246
3. 560297164 55110385250 CO 109
4. 5651138615 55110385266 PR 26
5. 5242699687 55110385289 CO 109
我像这样将它转换为dict
{554862122: {55110385224: {'PR 26': 2})},
5242699687: {55110385289: {'CO 109': 6}),
554862121: {55110385224: {'PR 26': 3})}"
但现在我想要这个但没有循环
{'PR 26':[5,[554862122,55110385224],[554862121,55110385224]],
'CO 109':[6,[5242699687,55110385289]]}
解决方案
您可以使用嵌套循环遍历子字典并用于dict.setdefault
初始化输出字典中的子列表:
d = {
554862122: {55110385224: {'PR 26': 2}},
5242699687: {55110385289: {'CO 109': 6}},
554862121: {55110385224: {'PR 26': 3}}
}
o = {}
for k, v in d.items():
for l, w in v.items():
for m, x in w.items():
o[m][0] = o.setdefault(m, [0])[0] + x
o[m].append([k, l])
print(o)
这输出:
{'PR 26': [5, [554862122, 55110385224], [554862121, 55110385224]], 'CO 109': [6, [5242699687, 55110385289]]}
推荐阅读
- javascript - 在弹出的 Laravel 中显示个人记录
- excel - VBA for Excel:将底部边框添加到由串联定义的单元格范围时编译错误
- sql-server - 将数据从 SAS 数据集插入 SQL 表未按预期工作
- apache-spark-sql - 是否可以将存储过程中的表值函数转换为 Spark SQL 以在 Azure Databricks 中运行?
- arrays - 自动向下移动或插入单元格,因此不会出现“数组未展开,会覆盖数据”错误
- python-3.x - 从大 csv 文件中读取并将满足条件的行保存到另一个 df
- vue.js - 如何在脚本中使用 VUEX GETTERS
- figma - 在我的 figma 中,某些快捷键无法正常工作
- jq - 如何用jq输出时间戳
- javascript - 输入字段文本输入上的自定义古腾堡块错误