2017-03-06 12 views
0

私はPythonとpandasが初めてです。私は複数の値を持つキーをデータフレームに変換しようとしています。以下はサンプルデータです。キーごとに複数の値を持つ辞書をデータフレームに変換する

Out[]: {a: [1, 2, 3], b: [11, 22, 33], 
     c: [111, 222, 333], d: [1111, 2222, 3333, 4444} 

私は次のコードの断片試してみました:私は私が欲しいもののうちを取得していない午前、私はをループする必要があると思う、

df = pd.DataFrame.from_dict(dict_name, orient = "index") 
    df1 

それとも

df = pd.DataFrame(dict_name) 

をしかし、値や何か、助けてください。出力は:

 col_name1  col_name2 
    0 a    1 
    1 a    2 
    2 a    3 
    3 b    11 
    4 b    22 
    5 b    33 
    6 c    111 
    and so on... 

ありがとうございました。

答えて

1

あなたが最後のダブルreset_indexによってMultiIndexからcolumnを作成し、sort_indexを必要に応じて、再形成のためのstackを使用してintに変換することができます:

df = pd.DataFrame.from_dict(dict_name, orient = "index") 
     .sort_index() 
     .stack() 
     .astype(int) 
     .reset_index(level=1, drop=True) 
     .reset_index() 
df.columns = ['col_name1','col_name2'] 
print (df) 
    col_name1 col_name2 
0   a   1 
1   a   2 
2   a   3 
3   b   11 
4   b   22 
5   b   33 
6   c  111 
7   c  222 
8   c  333 
9   d  1111 
10   d  2222 
11   d  3333 
12   d  4444 
関連する問題