[英]Append dictionary to pandas dataframe in a loop
我需要在循环中创建一个字典,并将它们附加到一个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。 播客实际上是一个列表列表,这里我只考虑列表的第一行
你需要:
df = pd.DataFrame([podcast_dict], columns=podcast_dict.keys())
df_podcast = pd.concat([df_podcast, df], axis =0).reset_index()
IIUC:
您需要做的是使用循环构建字典,然后在循环结束时,您可以使用字典创建数据框:
df1 = pd.DataFrame(podcast_dict)
并使用pd.concat
附加:
df_podcast = pd.concat([df_podcast, df1])
如果您想简单地将循环中创建的字典中的新数据附加到一个存在的Dataframe:
df = pd.DataFrame()
for i in range(n):
dict_new = dict(i)
df = df.append(dict_new, ignore_index=True)
print(df)
注意:只要创建的字典中的键相同,将其附加到现有数据框就不会很麻烦。 资源
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.