python - 如何根据索引将来自不同字典的熊猫现有列的值相加?
问题描述
我有一个用户的多个帐户的嵌套字典。每个帐户都保存一些键的浮点值。
我想将所有帐户(字典)中的值汇总到单个列,同时避免嵌套迭代,因为字典很大。
申请前:
另一方面,我有 2 个不同的字典
d = {
a:{0:5,3:2,4:1},
b:{1:4,3:1,4:10}
}
total = pd.Series(index=list(range(6)),data=0,name='Total')
for acc in d.keys():
for k,v in d[acc].items():
total[k] += v
总结应用代码后:
我想避免迭代所有 a,b 键,但不介意迭代 d.keys()
有什么方法可以使用 .map() 或其他有效的方法吗?
解决方案
从字典中构造一个数据框,并使用sum
将两列添加在一起,然后使用以下方法添加两个数据框DataFrame.add
:
df = pd.DataFrame(d, index=total.index)
total.add(df.sum(axis=1))
0 5.0
1 4.0
2 0.0
3 3.0
4 11.0
5 0.0
dtype: float64
推荐阅读
- firebase - 带有 Flutter 的 Firebase 中的唯一用户名
- c - malloc 之后的分段错误字符**
- c# - 我如何使用 PuppeteerSharp 单击 Cookie 接受按钮
- oracle-apex - APEX 19 向导主详细信息问题
- twitter-bootstrap - 使用引导属性,但可以读取本地图像的路径
- c - 如何填充大小为 [n,y] 的双指针
- java - write_memory_serialize_page 中的 OpenJDK 分段错误
- excel - 通过 Microsoft Graph 访问 Workbook 对象所需的正确权限
- c# - 自定义授权处理程序中的 EF Core DB 上下文注入
- php - PHP嵌套查询结果行为很奇怪