# setting up a dummy dataframe
raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame(raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'])
df
#now 'age' will appear at the end of our df
df = df[['favorite_color','grade','name','age']]
df.head()
#old df columns
df.columns
Index(['A', 'B', 'C', 'D'],dtype='***')
#new column format that we want to rearange
new_col = ['D','C','B','A'] #list of column name in order that we want
df = df[new_col]
df.columns
Index(['D', 'C', 'B', 'A'],dtype='***')
#new column order
# Get column list in ['item1','item2','item3'] format
df.columns
# [0]output:
Index(['item1','item2','item3'], dtype='object')
# Copy just the list portion of the output and rearrange the columns
cols = ['item3','item1','item2']
# Resave dataframe using new column order
df = df[cols]
df = df[['col1', 'col2', 'col3', 'col4']]
You could also do something like this:
df = df[['mean', '0', '1', '2', '3']]
You can get the list of columns with:
cols = list(df.columns.values)
The output will produce:
['0', '1', '2', '3', 'mean']