列表的值是数据帧的字典

时间:2013-02-11 08:06:44

标签: python pandas

这可能是一种使用数据框的错误方法,但我有一个字典,其中的值是项目列表。如:

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]

感谢您的帮助!

1 个答案:

答案 0 :(得分: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]

但是你所拥有的更多的是Series而不是DataFrame

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]