2013-02-11 19 views
3

這可能是使用數據框的不正確方式,但我有一個字典,其中的值是項目列表。如:字典,其中列表值爲數據框

my_dict = {'a':[1,2,3], 'b':[3,4,5]} 

我想創建一個數據框,其中索引是鍵和有一列,其中值是列表。這是輸出我希望看到:

In [69]: my_df 
Out[69]: 
       0 
a  [1, 2, 3] 
b [3, 4, 5, 6] 

這是最接近我已經得到了,通過改變字典值列表的列表,並使用轉。什麼是更好的方法?

In [64]: my_dict = {'a':[[1,2,3]], 'b':[[3,4,5,6]]} 

In [65]: my_df = pd.DataFrame(my_dict) 

In [66]: print my_df 
      a    b 
0 [1, 2, 3] [3, 4, 5, 6] 

In [67]: my_df.T 
Out[67]: 
       0 
a  [1, 2, 3] 
b [3, 4, 5, 6] 

感謝您的幫助!

+2

可以添加你想要的輸出... – root 2013-02-11 08:10:11

+0

謝謝,我添加了輸出 – gus 2013-02-11 08:27:13

回答

3
import pandas as pd 

my_dict = {'a':[1,2,3], 'b':[3,4,5]} 

pd.DataFrame([[i] for i in my_dict.values()],index=my_dict) 
Out[3]: 
      0 
a [1, 2, 3] 
b [3, 4, 5] 

但正如你所擁有的是更多的SeriesDataFrame

pd.Series(my_dict) 
Out[4]: 
a [1, 2, 3] 
b [3, 4, 5] 

,如果你需要,你可以將其轉換爲DataFrame

pd.DataFrame(pd.Series(my_dict)) 
Out[5]: 
      0 
a [1, 2, 3] 
b [3, 4, 5] 
+0

'pd.Series(my_dict)'也可以... – 2013-02-11 09:10:27

+0

@AndyHayden - Thanks,edite d我的回答。 – root 2013-02-11 09:13:17

相關問題