首页 > 解决方案 > 将 tuple(x,y): value 的字典转换为 x[], y[], value[][],索引对应的地方?

问题描述

我正在尝试将字典转换为可以使用 matplotlib 绘制为轮廓的形式。字典的键是 X,Y 坐标的元组,值是该坐标的读数。我想将它们放入一个三个 numpy 数组、一个 x 坐标的一维数组、一个 y 坐标的一维数组和一个二维值数组。x,y 数组的相应索引应对应于字典中定义的 2D 数组中的值的索引。

编辑以更好地定义问题:

示例输入数据:字典

(0,0): 1
(1.5,0): 2
(0,1.5): 3
(1.5,1.5): 4

我想要什么

x = [0,1.5]
y = [0,1.5]
values = [[1,2],[3,4]]

我有

for key in corr_data.items():
    X.append(key[0])
    Y.append(key[1])
X = list(dict.fromkeys(X))
Y = list(dict.fromkeys(Y))

它得到了 x 和 y 数组,但值数组让我望而却步。

任何帮助表示赞赏

标签: pythonarraysnumpydictionary

解决方案


您可以简单地遍历dict您的列表并创建您的列表,并可能将该列表转换为numpy.ndarray

x = []
y = []
vals = np.zeros(your_grid_shape)
for ((i,j), v) in your_dict.iteritems():
    x.append(i)
    y.append(j)
    vals[i, j] = v
x = list(set(x))
y = list(set(y))

推荐阅读