In [1]:
import pandas as pd
In [2]:
df = pd.read_csv('data/src/sample_pandas_normal.csv')
print(df)
In [3]:
print(df.sort_values('name'))
In [4]:
print(df.sort_values('name', ascending=False))
In [5]:
l_order = ['Charlie', 'Alice', 'Dave', 'Bob']
In [6]:
df['order'] = df['name'].apply(lambda x: l_order.index(x) if x in l_order else -1)
print(df)
In [7]:
print(df.sort_values('order'))
In [8]:
print(df.sort_values('order').reset_index(drop=True).drop(columns='order'))
In [9]:
d_order = {'Charlie': 0, 'Alice': 1, 'Dave': 2, 'Bob': 3}
In [10]:
df['order'] = df['name'].map(d_order)
print(df)
In [11]:
print(df.sort_values('order'))
In [12]:
print(df.sort_values('order', na_position='first'))
In [13]:
print(df.sort_values('order', na_position='first').reset_index(drop=True).drop(columns='order'))