我知道这是一个非常经典的问题,但经过很多帖子后,我决定把它带回来,却找不到一个看似基本的优雅解决方案。 问题:
我有一个来自大型数据集的Counter字典,带有意义的整数键和整数出现次数:
co = Counter({8046: 1360, 10046: 1248, 11046: 1024})
我只是想要以一个基本的整数数组结束:
a = np.array([[8046,1360],[10046,1248],[11046,1024]])
这个问题的特殊性(或缺乏特异性)是我有整数键,我不需要结构化数组。以下
dtype = dict(names = ['id','data'], formats=['i8','i8'])
array = np.fromiter(iter(co.items()), dtype=dtype)
不太令人满意,最后以
结束a = [(8046, 1360) (10046, 1248) (11046, 1024)]
这只是dtype的问题吗?非常感谢!
答案 0 :(得分:3)
您可以在转换为numpy数组之前将其转换为列表:
>>> np.array(list(co.items()))
array([[ 8046, 1360],
[10046, 1248],
[11046, 1024]])