从嵌套元组键入的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 元组?

Python 避免字典和元组的多重嵌套

python无限遍历,实现在多维嵌套字典列表元组的JSON中获取数据

python基础-字符串,列表,元组, 字典

Python 基本类型:元组,列表,字典,字符串,集合 梳理总结

基于元组或嵌套字典有啥好处吗?