You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在for循环中创建DataFrame并赋值给df1、df2等独立变量

解决方案

方法1:直接生成df1、df2等独立变量

可以通过Python内置的globals()全局命名空间字典实现循环内动态创建变量,完全满足按需生成、无多余变量的需求,修改后的参考代码如下:

import numpy as np
import pandas as pd

# 生成3-10之间的随机数作为循环次数
three_to_ten = np.random.randint(3,10)

for x in range(three_to_ten):
    data = np.random.randint(three_to_ten, size=three_to_ten)
    df = pd.DataFrame(data, columns=['numbers'])
    # 动态生成df1、df2...变量并赋值
    globals()[f'df{x+1}'] = df

# 之后即可直接调用df1、df2等变量

该方案特点:

  • 完全匹配你要的独立变量命名要求,可直接通过df1、df2访问对应数据
  • 缺点是动态生成的变量没有明确代码提示,数量较多时后续维护难度较高

方法2:更推荐的字典存储方案

工业场景下更推荐用字典收纳批量生成的DataFrame,不需要污染全局变量空间,管理和调用效率更高,参考代码如下:

import numpy as np
import pandas as pd

three_to_ten = np.random.randint(3,10)
# 初始化空字典存储所有DataFrame
df_store = {}

for x in range(three_to_ten):
    data = np.random.randint(three_to_ten, size=three_to_ten)
    df = pd.DataFrame(data, columns=['numbers'])
    # 以df1、df2为key存入字典
    df_store[f'df{x+1}'] = df

# 调用方式:df_store['df1']、df_store['df2']

该方案优势:

  • 所有DataFrame统一管理,不会生成冗余全局变量
  • 可通过df_store.keys()快速查看所有已生成的DataFrame标识
  • 批量处理时可直接遍历字典,比零散的独立变量操作效率高很多

内容的提问来源于stack exchange,提问作者Henul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:12:04