2016-07-20 76 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