首页 > 解决方案 > 使用 for 循环将 pandas 数据框附加到字典中

问题描述

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

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 循环使其工作的任何想法?

标签: pythonpandasfor-loop

解决方案


你得到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

推荐阅读