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

如何根据指定前缀列表调整pandas DataFrame的列顺序

实现方法

按给定前缀列表匹配对应列、拼接成新的列序后重赋值即可,示例代码如下:

import pandas as pd

# 替换为你自己的前缀顺序,不要用list做变量名避免和Python内置关键字冲突
prefix_order = ['nOffered', 'tacw', 'tacd', 'nTransferred', 'tHeld']

# 按前缀顺序生成新列名列表
sorted_columns = []
for prefix in prefix_order:
    # 匹配所有以当前前缀开头的列,同前缀下保留原有的后缀顺序
    matched = [col for col in df.columns if col.startswith(prefix)]
    sorted_columns.extend(matched)

# 应用新的列顺序
df = df.reindex(columns=sorted_columns)

如果需要强制同前缀下的后缀顺序(比如固定_count在前、_sum在后),可以用以下写法:

prefix_order = ['nOffered', 'tacw', 'tacd', 'nTransferred', 'tHeld']
suffix_order = ['count', 'sum']

sorted_columns = [f"{pre}_{suf}" for pre in prefix_order for suf in suffix_order]
df = df.reindex(columns=sorted_columns)

用你提供的示例列测试,最终输出的列顺序和要求完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:54:03