2017-06-15 55 views
0

我想創建一個3級多索引熊貓數據框,其數量很大like the one found in this Stack Overflow question但我希望能夠在DataFrame創建後添加新數據。將嵌套字典作爲一行添加到多索引數據框中

這是來自鏈接帖子的多索引數據框。爲了清楚起見,我已將列級別更名。

AA   BB 
    A  B  A  B 
    a b a b a b a b 
0 2 2 2 2 2 2 2 2 
1 3 3 3 3 3 3 3 3 
2 4 4 4 4 4 4 4 4 
3 5 5 5 5 5 5 5 5 
4 6 6 6 6 6 6 6 6 

,我將傳遞到這將是一個嵌套的字典下面的表單中的數據:

dictionary = {'AA': {'A': {'a': [9], 
          'b': [8]}, 
        'B': {'a': [6], 
          'b': [2]}}, 
       'BB': {'A': {'a': [3], 
          'b': [8]}, 
        'B': {'a': [1], 
          'b': [3]}}} 

任何想法如何,我可以做到這一點?

回答

1

您可以將新數據轉換爲鏈接文章中所述的數據幀,然後使用pd.concat將其與原始數據幀組合。

使用你的例子:

df 
Out[127]: 
    AA   BB   
    A  B  A  B 
    a b a b a b a b 
0 2 2 2 2 2 2 2 2 
1 3 3 3 3 3 3 3 3 
2 4 4 4 4 4 4 4 4 
3 5 5 5 5 5 5 5 5 
4 6 6 6 6 6 6 6 6 

newrow 
Out[129]: 
    AA   BB   
    A  B  A  B 
    a b a b a b a b 
0 9 8 6 2 3 8 1 3 

pd.concat([df, newrow]) 
Out[130]: 
    AA   BB   
    A  B  A  B 
    a b a b a b a b 
0 2 2 2 2 2 2 2 2 
1 3 3 3 3 3 3 3 3 
2 4 4 4 4 4 4 4 4 
3 5 5 5 5 5 5 5 5 
4 6 6 6 6 6 6 6 6 
0 9 8 6 2 3 8 1 3 
+0

謝謝!有效! –