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

如何为Pandas生成的参数CSV添加对应有效循环时间的时间列?

解决方案

要给CSV添加仅包含成功运行时间的time列,你需要在每次成功调用vad_plotter后,将当前时间(loop_time)作为字段加入参数数据,再存入DataFrame。具体修改如下:

修改后的核心代码

def main():
    # ... 保留原有的argparse和初始化代码 ...

    np.seterr(all='ignore')
    
    start_time = args.start_time
    end_time = args.end_time
    loop_time = start_time
    minute = timedelta(minutes=1)
    tmp = pd.DataFrame()
    while loop_time <= end_time:
        try:
            vad_plotter(args.radar_id,
                        storm_motion=args.storm_motion,
                        sfc_wind=args.sfc_wind,
                        time=loop_time,
                        fname=args.img_name,
                        local_path=args.local_path,
                        cache_path=args.cache_path,
                        web=args.web,
                        fixed=args.fixed
                        )
            # 提取时间的HHMM部分(若需完整时间直接用loop_time即可)
            time_label = loop_time.split('/')[1]
            # 将time字段加入参数数据
            params_with_time = params.copy()
            params_with_time['time'] = time_label
            # 添加到临时DataFrame(若使用pandas 2.0+,推荐用pd.concat替代append)
            tmp = tmp.append(params_with_time.to_frame().T, ignore_index=True)
            # 新版本pandas推荐写法:
            # tmp = pd.concat([tmp, params_with_time.to_frame().T], ignore_index=True)
        except:
            if args.web:
                print(json.dumps({'error':'error'}))
            else:
                print('This time does not exist. Continuing to next time.')
        loop_time_dt = datetime.strptime(loop_time, '%Y-%m-%d/%H%M')
        loop_time_dt += minute
        loop_time = datetime.strftime(loop_time_dt, '%Y-%m-%d/%H%M')  
    # 保存CSV时去掉默认索引
    tmp.to_csv('parameters.csv', index=False)

关键说明

  1. 仅保留成功时间:只有在try块成功执行(即该时间点有数据并完成绘图)时,才会将时间和参数写入tmp,异常时间点会被跳过,自然不会出现在最终CSV中。
  2. 时间格式处理:通过loop_time.split('/')[1]从YYYY-MM-DD/HHMM格式中提取出HHMM(如2100),符合你想要的示例格式;如果需要完整时间字符串,直接替换为time_label = loop_time即可。
  3. 索引处理:使用ignore_index=True避免因索引重复导致的混乱,最后保存CSV时添加index=False,去掉默认的数字索引列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 07:45:33