Python将具有多个键的Dict转换为Dataframe

时间:2017-01-03 21:39:01

标签: python python-3.x pandas dictionary dataframe

我有一个从网络数据创建的Dict。我从一个空的Dict开始,比如d = {}。然后我循环浏览每个网页并将每页数据存储在d[i]中,其中我从0开始,i = 0。然后我有一个带有多个键/索引的Dict(我不知道正确的术语是什么)。我可以输入d[0]并查看第一页d[1]以查看第二页,依此类推。我试图将每个键/索引联合起来,以便我可以将此Dict转换为Dataframe。 Dict看起来像这样:

{0:    Age (Days) Number of Items in Queue Number of Items in WIP  \
 3           4                        0                      2
 4           5                        0                      1
 5           6                        0                      2
 6           7                        0                      4
 7           9                        0                      1
 8          12                        0                      2
 9          14                        0                      4
 10         15                        0                      3
 11         17                        0                      1
 12         19                        0                      2
1:    Age (Days) Number of Items in Queue Number of Items in WIP  \
 3           0                        0                      1
 4           1                        0                      8
 5           2                        0                      3
 6           3                        0                      6
 7           4                        0                      1
 8           5                        0                      7
 9           9                        0                      9
 10         10                        0                      4
 11         11                        0                      3
 12         12                        0                      8
 13         13                        0                      2
 14         14                        0                      1
 15         15                        0                      5
 16         16                        0                      6
 17         17                        0                      1
 18         18                        0                      5
 19         19                        0                      7
 20         20                        0                      2}

我不能简单地使用pd.DataFrame(d)。我尝试使用pd.DataFrame.from_dict(list(d.values()))但是没有给出我期望的输出。我使用pd.DataFrame.from_dict(d, orient='index')获得相同的输出。不需要的输出只是列出每个键/索引,如下所示:

In [102]: pd.DataFrame.from_dict(d, orient='index')
Out[102]:
                                                   0
0     Age (Days) Number of Items in Queue Number ...
1     Age (Days) Number of Items in Queue Number ...
2     Age (Days) Number of Items in Queue Number ...

我希望将d[1]中的行添加到d[0]并保留相同的列名。

1 个答案:

答案 0 :(得分:1)

IIUC你可以concatenate这样:

df = pd.concat(d.values(), ignore_index=True)