【发布时间】:2019-02-01 13:18:23
【问题描述】:
input={1:5,2:8,9:3,11:4,18:3,21:4,3:8}
我想按操作进行分组并在
上执行求和操作那些字典中的值..
like grp_1=1,2,3 ; grp_2=9,11,18 ; grp_3= 21
输出应该如下所示
grp_1= 21 (5+8+8 dict values)
grp_2= 10 (3+4+3 dict values)
grp_3= 4
请给我们建议简单的方法..
【问题讨论】:
-
组是否以任何特定方式形成?就像它们是由一些连续的逻辑箱定义的吗?
-
是的,它由以下代码组成:a= [1,1,1,2,2,2,1,3,4,5,5,5,8,8,8, 79] counted = defaultdict(int) for i,v in enumerate(a): input[v] += 1 print(input) like this..
-
要计算列表中的元素,您可以使用
Counterfromcollections:counted = collections.Counter(a)。你的意思是counted[v]而不是input[v]? -
我认为@ALollz 询问的是您选择的组 的性质。有什么可以确定 1,2,3 进入 grp_1 和 9,11,18 进入 grp_2?它是完全任意的吗?是每三个不同的观察值按顺序形成一个组吗?等等。
标签: python-3.x pandas numpy dictionary