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

如何用循环多次运行Python脚本,传入不同日期年份参数并合并DataFrame

实现循环批量生成并拼接DataFrame

步骤1:封装生成DataFrame的逻辑为函数

如果你的原脚本是直接执行的代码,先把生成DataFrame的核心逻辑封装成可复用的函数,方便传入参数调用:

import pandas as pd

def generate_target_df(date_param, year_param):
    # 替换成你原脚本生成DataFrame的实际代码
    # 示例:模拟生成数据(仅作演示,需替换为真实逻辑)
    data = {
        'record_date': [date_param],
        'year': [year_param],
        'metric_value': [pd.np.random.randint(1, 100)]
    }
    return pd.DataFrame(data)

步骤2:定义所有需要传入的参数组合

把要测试的date和year参数整理成一个列表,每个元素是一组参数元组:

# 按需求添加更多参数组合
parameter_pairs = [
    ('01Jan2022', '2022'),
    ('11Jan2022', '2022'),
    ('21Jan2022', '2022'),
    # ... 可继续添加其他参数对
]

步骤3:循环执行并收集所有DataFrame

初始化一个空列表,遍历参数组合,每次调用函数生成DataFrame并添加到列表中:

collected_dfs = []
for date, year in parameter_pairs:
    current_df = generate_target_df(date, year)
    collected_dfs.append(current_df)

步骤4:拼接所有DataFrame得到最终结果

用pandas.concat()把收集到的DataFrame拼接成一个大表,ignore_index=True可重置索引避免重复:

final_result_df = pd.concat(collected_dfs, ignore_index=True)
# 查看最终结果
print(final_result_df)

注意事项

  • 确保所有生成的DataFrame列名和数据类型完全一致,否则拼接后会出现缺失值或列错位问题。
  • 如果原脚本包含IO操作(比如读取文件),建议在函数中加入try-except块处理异常,避免单次执行失败中断整个循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:25:31