在数据处理过程中,经常需要将列按照一定的要求进行排序,以方便展示。本文主要几种调整列顺序的常用方法。
创建测试DataFrame
import pandas as pd
data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002],
'pop':[1.5,1.7,3.6,2.4,2.9]}
df=pd.DataFrame(data)
df

自己手动将列的名称按需要手动进行排序。
df[['pop','state','year']]

df.loc[:,['pop','state','year']]

df.iloc[:,[1,0,2]]

cols=list(df.columns)
cols.reverse() #cols.reverse() 是将列表(list)进行逆序排序
df[cols]

cols=list(df.columns)
df[cols[::-1]] ## cols[::-1] 省略开始和结束下标,步长为-1,倒叙取此列表的值

数据准备:导入数据
import os
import pandas as pd
import numpy as np
def read_file(filepath):
os.chdir(os.path.dirname(filepath))
return pd.read_csv(os.path.basename(filepath),encoding='utf-8')
file_pos="F:\\python_machine_learing_work\\501_model\\data\\第一次建模用的样本数据\\训练集\\v1_6_feature.csv"
data_pos=read_file(file_pos)
查看数据情况
data_pos.shape
data_pos.dtypes


移动最后一列"data_source"放到开头第一列,因为存在列的数量较多,不一定要通过列名称实现排序。
cols = data_pos.columns.tolist()
cols = cols[:1] + cols[-1:] + cols[1:-1] # 将最后一列"data_source"放到开头第一列
data_pos= data_pos[cols]

参考文章:
https://blog.csdn.net/lemonbit/article/details/119495498