使用for循环在字典中添加熊猫数据框

时间:2020-05-30 11:49:34

标签: python pandas for-loop

我有以下字典,我想将它们添加到熊猫数据框中:

crimes1 = {'SOUTHERN': 28445,
 'NORTHERN': 20100,
 'MISSION': 19503}

我用所需的列名称创建空白数据框:

column_names = ['Neighborhood', 'Count']
crimes2 = pd.DataFrame(columns=column_names)

接下来,我想使用for循环在数据帧的字典中追加包含上述键和值的字典:

for i, x in crimes1:
    crimes2 = crimes2.append({'Neighborhood': i}, {'Count': x}, ignore_index=True)

我得到的错误是ValueError: too many values to unpack (expected 2)

当我单独进行操作时,我只能填充一列,但似乎无法将两者都合并到一个数据框中。关于如何使用上面的for循环使它起作用的任何想法?

3 个答案:

答案 0 :(得分:0)

您之所以得到ValueError是因为您没有调用crimes1.items(),而这需要遍历字典的键,值对。只需使用:

for i, x in crimes1.items():
    crimes2 = crimes2.append({'Neighborhood': i, 'Count': x}, ignore_index=True)

结果:

# print(crimes2)
  Neighborhood  Count
0     SOUTHERN  28445
1     NORTHERN  20100
2      MISSION  19503

答案 1 :(得分:0)

您可以使用map函数

crimes2 = pd.DataFrame(map(list, crimes1.items()))

crimes2.columns = ['Neighborhood', 'Count']

答案 2 :(得分:0)

您可以尝试一下。

crimes2 = pd.DataFrame(crimes1.items(), columns=['Neighborhood', 'Count'])
  Neighborhood  Count
0     SOUTHERN  28445
1     NORTHERN  20100
2      MISSION  19503