从嵌套元组键入的python字典重建向量场
Posted
技术标签:
【中文标题】从嵌套元组键入的python字典重建向量场【英文标题】:Reconstruct vector field from python dictionary keyed by nested tuple 【发布时间】:2016-11-23 22:17:54 【问题描述】:有一个字典格式如下:
vector_dict = ((3, 4), 2): 4678,
((0, 2), 1): 0,
...
嵌套在元组中的元组对应xy坐标。下一部分是一个整数,可能值 n=0、1、2、3,代表四个主要方向。由它键入的值表示某种量级。 所以第一个键值对变成: 向量 [1,0],位于 x=3,y=4,按 4,678 缩放。 我尝试使用熊猫,但我无法理解它,如何以可用的方式正确提取它。 后来我想把它绘制成与右边的大致相似,但完全填满电路板:
【问题讨论】:
当每个连续的点由先前的位置以及移动的方向和幅度决定时,您就有一系列('x', 'y')
点。你的数据没有意义。
【参考方案1】:
查看Series constructor 以从dict
加载数据。然后你可以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
【讨论】:
以上是关于从嵌套元组键入的python字典重建向量场的主要内容,如果未能解决你的问题,请参考以下文章
python无限遍历,实现在多维嵌套字典列表元组的JSON中获取数据