2013-02-11 57 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