在numpy中总结字典元素

Bob*_*Bob 0 python dictionary numpy

我有一个字典,看起来像这样:

{'A': ([  0.        ,  1.0 ,  2.0,   3.0,          0.        ,   0.        ,   0.        ,   0.        ,   0.        ]),
 'B': ([  0.        ,  4.0,  5.0 ,   6.0,          0.        ,   0.        ,   0.        ,   0.        ,   0.        ]),

.
.
.

'Y': ([  0.        ,  7.0,  8.0 ,   9.0,          0.        ,   0.        ,   0.        ,   0.        ,   0.        ]),
'Z': ([  0.        ,  10.0,  20.0,   30.0,          0.        ,   0.        ,   0.        ,   0.        ,   0.        ])}
Run Code Online (Sandbox Code Playgroud)

我想总结第2,第3和第4个元素并创建一个如下所示的新字典:

{'A': ([6.0]),
 'B': ([15.0]),

.
.
.

'Y': ([24.0]),
'Z': ([60.0])}
Run Code Online (Sandbox Code Playgroud)

什么是pythonic方式呢?我使用的是Python 2.7.谢谢

Psi*_*dom 5

使用字典理解来遍历dict项并将值相加:

{k: v[1:4].sum() for k, v in d.items()}
# {'A': 6.0, 'B': 15.0, 'Y': 24.0, 'Z': 60.0}
Run Code Online (Sandbox Code Playgroud)

如果要将结果保留为列表:

{k: v[1:4].sum(keepdims=True).tolist() for k, v in d.items()}

# {'A': [6.0], 'B': [15.0], 'Y': [24.0], 'Z': [60.0]}
Run Code Online (Sandbox Code Playgroud)