问题 从字典创建Python DataFrame,其中键是列名称,值是行的值


我熟悉python但对panda DataFrames来说很新。我有这样的字典:

a={'b':100,'c':300}

我想将其转换为DataFrame,其中b和c是列名,第一行是100,300(100位于b下方,300位于c下方)。我想要一个可以推广到更长字典的解决方案,还有更多项目。谢谢!


12556
2017-08-14 22:35


起源

也可以看看 stackoverflow.com/questions/20638006/... - joris


答案:


将值作为列表传递:

a={'b':[100,],'c':[300,]}
pd.DataFrame(a)

     b    c
0  100  300

或者,如果由于某种原因您不想使用列表,请包含索引:

a={'b':100,'c':300}
pd.DataFrame(a, index=['i',])

     b    c
i  100  300

14
2017-08-15 12:41



我在一个dicts列表中插入了几个pd.np.nan值。所以列表中的每个元素都是一个dict。或者是南。我如何将其转换为数据帧? - iratzhash
不确定我理解你的问题。我认为这里的方法应该有效,但如果不是,你应该将它作为一个单独的问题发布,这样你就可以包含示例数据 - iayork
我想通了,我改变了它:现在添加一个NaN填充的字典,即listt.append({“key”:pd.np.nan ....})..到列表..而不是附加一个pd.np .nan对象直接。 - iratzhash


使用列表作为字典中的值。

import pandas as pd
a = {'b':[100,200],'c':[300,400]}
b = pd.DataFrame(a)

In [4]: b
Out[4]: 
     b    c
0  100  300
1  200  400

0
2017-08-15 07:34