在循环中将字典附加到熊猫数据框

新手上路,请多包涵

我需要在一个循环中创建一个字典,并将它们附加到一个 pandas 数据框,该数据框具有匹配的 dict 键名和数据框的列名。每次迭代中字典的键值对可以不同。一个空的 pandas 数据框 df_podcast 已经在字典的开头定义了所有可能的键。

以下是尚未完成的代码示例

df_podcast=pd.DataFrame(columns=podcast_cols)

podcast_dict={}
for j in range(len(podcast[0])):
    if podcast[0][j].tag=="key":
        podcast_dict[podcast[0][j].text]=podcast[0][j+1].text
### Have to append dict to pandas df ############

我已将 podcast_dict 附加到 df_podcast。 Podcast 实际上是一个列表列表,这里我只考虑列表的第一行

原文由 Leo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 504
2 个回答

你需要:

 df  = pd.DataFrame([podcast_dict], columns=podcast_dict.keys())
df_podcast = pd.concat([df_podcast, df], axis =0).reset_index()

原文由 xingpei Pang 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您只想将循环中创建的字典中的新数据附加到现有的 Dataframe:

 df = pd.DataFrame()
for i in range(n):
    dict_new = dict(i)
    df = df.append(dict_new, ignore_index=True)
print(df)

注意: 只要您创建的字典中的键相同,将其附加到现有数据框就不会很麻烦。 资源

原文由 Sumax 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题