gpt4 book ai didi

python pandas - 使用for循环编辑多个DataFrame

转载 作者:行者123 更新时间:2023-11-28 21:07:29 27 4
gpt4 key购买 nike

考虑以下 2 个包含 3 个字典和 3 个空 DataFrame 的列表

dict0={'actual': {'2013-02-20 13:30:00': 0.93}}
dict1={'actual': {'2013-02-20 13:30:00': 0.85}}
dict2={'actual': {'2013-02-20 13:30:00': 0.98}}
dicts=[dict0, dict1, dict2]

df0=pd.DataFrame()
df1=pd.DataFrame()
df2=pd.DataFrame()
dfs=[df0, df1, df2]

我想通过使用以下行递归修改循环中的 3 个数据帧:

for df, dikt in zip(dfs, dicts):
df = df.from_dict(dikt, orient='columns', dtype=None)

但是,当尝试在循环外检索 df 的实例 1 时,它仍然是空的

print (df0)

会回来

Empty DataFrame
Columns: []
Index: []

当从 for 循环中打印 df 时,我们可以看到数据已正确附加。

如何创建循环以便可以在循环外打印 3 个 dfs 及其更改?

最佳答案

在您的循环中,df 只是一个临时值,而不是对相应列表元素的引用。如果要在迭代列表时修改列表,则必须按索引引用列表。您可以使用 Python 的枚举来做到这一点:

for i, (df, dikt) in enumerate(zip(dfs, dicts)):
dfs[i] = df.from_dict(dikt, orient='columns', dtype=None)

关于python pandas - 使用for循环编辑多个DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com