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

如何动态调整DataFrame列顺序:固定列与日期列排序

动态调整DataFrame列顺序的解决方案

不用固定列索引,而是基于列名的特征(前缀)来动态筛选、排序列,就能适配日期列每日变化的场景,具体实现步骤如下:

  1. 定义固定列的目标顺序

    # 前置固定列(按需求指定顺序)
    fixed_front = ['col_C', 'col_A', 'col_B', 'col_D', 'col_E']
    # 后置固定列
    fixed_end = ['col_F']
    

    如果担心col_E这类固定列可能不存在(比如当前DataFrame里没有该列),可以先过滤出实际存在的列,避免报错:

    fixed_front = [col for col in ['col_C', 'col_A', 'col_B', 'col_D', 'col_E'] if col in df.columns]
    
  2. 动态筛选并排序日期列
    通过列名前缀date_筛选出所有日期列,再按名称排序(保证date_1到date_n的顺序符合预期):

    date_cols = sorted([col for col in df.columns if col.startswith('date_')])
    
  3. 组合列顺序并重新排列DataFrame
    把固定列、日期列、后置固定列按需求顺序拼接,然后重新索引DataFrame:

    desired_cols = fixed_front + date_cols + fixed_end
    df = df[desired_cols]
    

这种方式完全不依赖列的固定索引,不管日期列新增、减少都能自动适配,彻底解决用iloc硬编码索引失效的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:03:29