字典中的数据帧

Guf*_*oru 2 python dictionary dataframe pandas

对不起,如果它是重复的,但我没有在互联网上找到解决方案......

我有一些字典

{'a':1, 'b':2, 'c':3}
Run Code Online (Sandbox Code Playgroud)

现在我想用与键对应的列名和与值对应的值来构造pandas DF。实际上它应该是只有一行的 Df。

a b c
1 2 3
Run Code Online (Sandbox Code Playgroud)

在另一个主题中,我只找到了解决方案,其中 - 键和值都是新 DF 中的列。

EdC*_*ica 5

您在这里有一些警告,如果您只是将 dict 传递给 DataFrame 构造函数,那么它会引发错误:

ValueError:如果使用所有标量值,则必须传递索引

为了解决这个问题,您可以传递一个有效的索引:

In [139]:

temp = {'a':1,'b':2,'c':3}
pd.DataFrame(temp, index=[0])
Out[139]:
   a  b  c
0  1  2  3
Run Code Online (Sandbox Code Playgroud)

理想情况下,您的值应该是可迭代的,因此列表或数组如下:

In [141]:

temp = {'a':[1],'b':[2],'c':[3]}
pd.DataFrame(temp)
Out[141]:
   a  b  c
0  1  2  3
Run Code Online (Sandbox Code Playgroud)

感谢@joris 指出,如果将 dict 包装在列表中,则不必将索引传递给构造函数:

In [142]:

temp = {'a':1,'b':2,'c':3}
pd.DataFrame([temp])
Out[142]:
   a  b  c
0  1  2  3
Run Code Online (Sandbox Code Playgroud)

  • 除了提供 `index=[0]`,你也可以将 dict 放在一个列表中:`pd.DataFrame([temp])`。如果您有多个此 dicts 每个包含一行,这也更容易扩展。 (2认同)