2017-03-06 80 views
0

我是Python和熊貓的新手。我正嘗試將具有多個值的鍵轉換爲數據框。以下是示例數據。將具有多個值的字典轉換爲數據框的每個鍵

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

可以使用stack重塑,如果有必要sort_index並轉換爲int,最後通過雙reset_indexMultiIndex創建column

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 
相關問題