gpt4 book ai didi

python - 使用 to_pickle 在循环中保存多个数据帧

转载 作者:行者123 更新时间:2023-12-02 19:45:31 24 4
gpt4 key购买 nike

嗨,我有 4 个 pandas 数据框:df1、df2、df3、df4。我喜欢做的是使用 to_pickle 迭代(使用 for 循环)此数据帧的保存。我所做的是这样的:

out = 'mypath\\myfolder\\'

r = [ orders, adobe, mails , sells]
for i in r:
i.to_pickle( out + '\\i.pkl')

该命令很好,但它不会用他的名字保存每个数据库,而是覆盖相同的数据库i.pkl(我认为因为我的代码不正确)看来它不能用他的名字重命名每个数据库(例如 for 循环内的订单 orders 以名称 i.pkl 保存,等等>涉及订单数据框)我期望的是保存 4 个数据帧,并在对象 r 中插入名称(例如:orders.pkl、adobe.pkl、mails.pkl、sells.pkl)

我该怎么做?

最佳答案

您无法对变量名称进行字符串化(这不是您通常会做的事情),但您可以做一些简单的事情:

import os

out = 'mypath\\myfolder\\'

df_list = [df1, df2, df3, df4]
for i, df in enumerate(df_list, 1):
df.to_pickle(os.path.join(out, f'\\df{i}.pkl')

如果您想为文件提供自定义名称,我的建议是:使用字典。

df_map = {'orders': df1, 'adobe': df2, 'mails': df3, 'sells': df4}
for name, df in df_map.items():
df.to_pickle(os.path.join(out, f'\\{name}.pkl')

关于python - 使用 to_pickle 在循环中保存多个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353333/

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