Python pandas循环迭代中每次生成新DataFrame的相关问题咨询
Pandas循环生成多个DataFrame的可行方案
完全可以实现需求,以下是两种常用的实现方案:
推荐方案:使用字典/列表存储所有DataFrame(生产环境优先选择)
这种方式不会污染全局变量空间,后续批量处理(比如统一做数据清洗、指标计算)时可以直接遍历容器,维护成本更低。
- 字典存储(支持按命名取用):
import pandas as pd MAX_NUMBER = 5 # 可根据实际需求修改取值 df_dict = {} for i in range(MAX_NUMBER + 1): df_dict[f"df{i}"] = pd.read_csv(f"C:/Users/Desktop/{i}.csv")
调用时直接使用df_dict["df0"]、df_dict["df1"]即可获取对应序号的DataFrame。
- 列表存储(仅需按序号取用场景更简便):
import pandas as pd MAX_NUMBER = 5 dfs = [] for i in range(MAX_NUMBER + 1): dfs.append(pd.read_csv(f"C:/Users/Desktop/{i}.csv"))
调用时dfs[0]对应需求的df0、dfs[1]对应df1,以此类推。
可选方案:生成独立的df0、df1全局变量
如果确实需要生成独立的全局变量,可以借助Python的globals()内置函数实现,代码如下:
import pandas as pd MAX_NUMBER = 5 for i in range(MAX_NUMBER + 1): globals()[f"df{i}"] = pd.read_csv(f"C:/Users/Desktop/{i}.csv")
该方案不推荐在变量数量多的场景使用,大量零散的全局变量会提升代码维护成本,也容易出现命名冲突问题。
内容的提问来源于stack exchange,提问作者ManOnTheMoon
相关产品推荐
相关产品推荐

