繁体   English   中英

将字典附加到循环中的pandas数据帧

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM