从多个词典创建数据框

时间:2018-02-15 15:45:58

标签: python pandas dataframe

我有多个字典,其中包含一系列文本文件的字频数。我试图找到一种方法将它们整理成一个数据框(所以一个dict =一个文本文件= df中的一行),但我对Python相当缺乏经验并且不确定如何继续。

我有大约50个文本文件/词典,但为了简单起见,我有以下内容;

mydict = {'red': 2,'blue': 1,'yellow': 3}
mydict2 = {'blue': 1,'orange': 3,'red': 1}
mydict3 = {'purple': 1,'green': 3,'brown': 2}

如何创建一个数据框,其中颜色的完整列表为列,字典/文本文件为行,然后相应的计数为数据点(任何颜色未显示在特定列中,注册为零)

我会包含编码尝试,但我不知道如何开始这项任务。

2 个答案:

答案 0 :(得分:2)

您可以为每个系列制作一个系列,然后.concat

mydicts = [mydict, mydict2, mydict3]
df = pd.concat([pd.Series(d) for d in mydicts], axis=1).fillna(0).T
df.index = ['mydict', 'mydict1', 'mydict2']
df

返回

         blue  brown  green  orange  purple  red  yellow
mydict    1.0    0.0    0.0     0.0     0.0  2.0     3.0
mydict1   1.0    0.0    0.0     3.0     0.0  1.0     0.0
mydict2   0.0    2.0    3.0     0.0     1.0  0.0     0.0

答案 1 :(得分:2)

使用dict

pd.DataFrame.from_records()