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

如何将指定列移至大型可扩展Pandas DataFrame的前列?

将指定列移至Pandas DataFrame最前端

核心思路

先明确需要前置的列名列表,再动态获取剩余所有列,最后将这两个列表拼接后重新排列DataFrame的列顺序。这种方法能自动适配列数增加的情况,无需手动更新剩余列的列表。

具体实现步骤

  1. 定义前置列列表:列出所有需要移到最前面的确定存在的列名。
  2. 生成剩余列列表:从DataFrame的全部列中过滤掉前置列,得到剩下的列。
  3. 重新排列列顺序:将前置列列表与剩余列列表拼接,用这个新的列顺序重新索引DataFrame。

代码示例

假设我们有一个包含150列的大型DataFrame,想要将col5、col20、col100这三列移到最前面:

import pandas as pd
import numpy as np

# 创建示例大型DataFrame(150列,100行)
cols = [f'col{i}' for i in range(1, 151)]
df = pd.DataFrame(np.random.randn(100, 150), columns=cols)

# 确定需要前置的列
priority_columns = ['col5', 'col20', 'col100']

# 获取剩余列(自动排除前置列)
remaining_columns = [col for col in df.columns if col not in priority_columns]

# 重新排列DataFrame列顺序
df = df[priority_columns + remaining_columns]

# 验证结果:查看前5列
print(df.columns[:5])
# 输出:Index(['col5', 'col20', 'col100', 'col1', 'col2'], dtype='object')

注意事项

  • 由于你明确指定的列肯定存在,无需额外处理列缺失的情况。
  • 这种方法效率很高,即使DataFrame列数增加,也能自动适配,因为剩余列是动态从当前DataFrame的列中获取的。
  • Pandas的列重排操作不会复制底层数据,只是调整列的引用顺序,所以对大型DataFrame也不会有性能问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:22:41