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

如何将Pandas DataFrame列按自定义顺序排序 新增列放置末尾

Pandas 按指定优先级调整列顺序解决方案

直接按以下逻辑实现即可,完全匹配需求:

  • 第一步:从预设的优先级列清单中,筛选出当前DataFrame实际存在的列,保留原优先级排序
  • 第二步:提取当前DataFrame中不在优先级清单内的剩余列,保持原有出现顺序
  • 第三步:将两部分列名拼接后,直接给DataFrame重新指定列顺序即可

完整实现代码

import pandas as pd

# 预设的预期列优先级顺序
expected_columns = ['cust_id','cost_id','sale_id','prod_id']

# 示例:生成测试用DataFrame
df = pd.DataFrame(columns=['customer_name','cust_id','sale_id','sale_time'])

# 计算调整后的列顺序
# 1. 筛选存在的优先级列
sorted_priority_cols = [col for col in expected_columns if col in df.columns]
# 2. 筛选剩余列
other_cols = [col for col in df.columns if col not in expected_columns]
# 3. 重新设置列顺序
df = df[sorted_priority_cols + other_cols]

运行结果验证

调整后df的列顺序为:['cust_id','sale_id','customer_name','sale_time'],完全符合预期要求。
该方案兼容性强,即使后续DataFrame出现新增列、或者缺少部分预期优先级列的情况,都不会报错,自动适配生成符合规则的列顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:45:05