python - 使用通用键值对对字典列表中的值求和

标签 python dictionary nested-lists

如何对字典列表中的重复元素求和?

sample list :

data = [
        [
            {'user': 1, 'rating': 0},
            {'user': 2, 'rating': 10},
            {'user': 1, 'rating': 20},
            {'user': 3, 'rating': 10}
        ],
        [
            {'user': 4, 'rating': 4},
            {'user': 2, 'rating': 80},
            {'user': 1, 'rating': 20},
            {'user': 1, 'rating': 10}
        ],
    ]

预期输出:
op = [
        [
            {'user': 1, 'rating': 20},
            {'user': 2, 'rating': 10},
            {'user': 3, 'rating': 10}
        ],
        [
            {'user': 4, 'rating': 4},
            {'user': 2, 'rating': 80},
            {'user': 1, 'rating': 30},
        ],
    ]

最佳答案

pandas :

>>> import pandas as pd
>>> [pd.DataFrame(dicts).groupby('user', as_index=False, sort=False).sum().to_dict(orient='records') for dicts in data]
[[{'user': 1, 'rating': 20},
  {'user': 2, 'rating': 10},
  {'user': 3, 'rating': 10}],
 [{'user': 4, 'rating': 4},
  {'user': 2, 'rating': 80},
  {'user': 1, 'rating': 30}]]

关于python - 使用通用键值对对字典列表中的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62102618/

相关文章:

swift - 在 Swift 中递归更改字典中的某些键

python - 具有嵌套列表的多个值的字典

python - Tensorflow - 值错误 : Output tensors to a Model must be the output of a TensorFlow `Layer`

python - 我们如何使用 Chef 连接基于集群的软件?

类内的Python多处理共享字典

java - NavigableMap 的subMap 会导致内存泄漏吗?

python - 嵌套列表中第一个值的总和

python - 获取嵌套列表中特定索引的不同值

python - 需要 py.test 在 python 日志记录模块的日志文件中记录断言错误

javascript - 为什么 JS 中的简单阶乘算法比 Python 或 R 中的快得多?