【发布时间】:2017-05-18 02:15:29
【问题描述】:
我有一个从网络数据创建的字典。我从一个空的字典开始,比如d = {}。然后,我遍历每个网页并将每个数据页存储在d[i] 中,我从 0 开始,i = 0。然后我有一个带有多个键/索引的字典(我不确定正确的术语是什么)。我可以输入d[0] 看到第一页,d[1] 看到第二页等等。我正在尝试合并这些键/索引中的每一个,以便可以将此 Dict 转换为 Dataframe。字典看起来像这样:
{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] 并保持相同的列名。
【问题讨论】:
-
试试这个:
df = pd.concat((d[k] for k in d.keys()), ignore_index=True) -
那是快速而完美的!谢谢!想要将此作为答案发布,我会标记它?
标签: python python-3.x pandas dictionary dataframe