2017-06-15 10 views
0

3レベルのマルチインデックスのpandas DataFrameをlike the one found in this Stack Overflow questionに作成したいのですが、DataFrameを作成した後で新しいデータを追加したいと考えています。入れ子になった辞書を複数インデックスの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

ありがとう!出来た! –

関連する問題