2016-07-20 111 views
1

有以下形式的字典键控:重构矢量场由嵌套元组

vector_dict = {((3, 4), 2): 4678, 
       ((0, 2), 1): 0, 
       ... 
       } 

嵌套在元组元组对应于x,y坐标。下一部分是一个整数,可能值为n = 0,1,2,3,表示四个主要方向。由这些键表示的值代表一定的量值。 因此,第一个键值对变为: 矢量[1,0],位于x = 3,y = 4,缩放4,678。 我尝试使用熊猫,但在我无法得到我的头,如何以一种可用的方式正确提取此。 后来我想绘制它大致类似右边的一个,但完全填充板: enter image description here

+0

你有一系列'(“X”,“Y”)'当每个连续的点是由事先与移动的方向和大小的位置决定的点。你的数据没有意义。 – piRSquared

回答

1

退房的Series constructordict加载数据。然后你可以unstack得到轴1的方向。最后,convert的位置索引变成MultiIndex

d = {((3, 4), 2): 4678, ((0, 2), 1): 0} 
df = pd.Series(d).unstack() 
df.index = pd.MultiIndex.from_tuples(df.index, names=['x', 'y']) 

print(df) 

产生

 1  2 
x y    
0 2 0.0  NaN 
3 4 NaN 4678.0