xxxxxxxxxx
df = df.reindex(sorted(df.columns), axis=1)
xxxxxxxxxx
sorted = df.sort_values('column-to-sort-on', ascending=False)
#or
df.sort_values('name', inplace=True)
xxxxxxxxxx
#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
xxxxxxxxxx
# Python, Pandas
# Sorting dataframe
# sort by one column
df.sort_values(by=['col1'])
# sort by more columns
df.sort_values(by=['col1', 'col2'])
# defaut values
# DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)
xxxxxxxxxx
# Basic syntax:
import pandas as pd
df.sort_values(by=['col1'])
# Note, this does not sort in place unless you add inplace=True
# Note, add ascending=False if you want to sort in decreasing order
# Note, to sort by more than one column, add other column names to the
# list like by=['col1', 'col2']
xxxxxxxxxx
DataFrame.sort_values(
['column_to_sort_by'],
axis=0,
ascending=True,
inplace=False,
kind='quicksort',
na_position='last',
ignore_index=False,
key=None
)