python如何使用计数器值填充2D数组

时间:2017-07-13 17:53:21

标签: python arrays numpy

我使用

初始化了一个2D数组(235,451)
grid = np.zeros((235,451)) 

数组的片段是:

a = array(Counter({(87, 177): 347, (72, 191): 335, (88, 178): 318, (68, 188): 318, (67, 188): 318, (67, 187): 314}),dtype=object)

我想用计数器值填充以下索引,并将所有其他值保留为零值。

e.g。

>>> grid[0,0] = 0
>>> grid[87,177]=347
>>> grid[72,191]=335 

我的总体目标是在地图上绘制轮廓。 谢谢。

1 个答案:

答案 0 :(得分:4)

请勿将计数器放入数组中并执行

from collections import Counter
import numpy as np

a = Counter({(87, 177): 347, (72, 191): 335, (88, 178): 318, (68, 188): 318, (67, 188): 318, (67, 187): 314})
keys = np.array(list(a.keys()))
values = np.array(list(a.values()))

grid = np.zeros((235,451))
grid[keys[:, 0], keys[:, 1]] = values