我有以下字典,我想将它们添加到熊猫数据框中:
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循环使它起作用的任何想法?
答案 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