I have a dataframe:
data = {
    'group': ['2', '1', '2', '2', '2', '1'],
    'interval': ['20-30', '20-30', '30-40', '10-20', '10-20', '0-10'],
    'count': [3, 4, 2, 7, 5, 1],
}
df = pd.DataFrame(data)
group   interval    count
2          20-30    3
1          20-30    4
2          30-40    2
2          10-20    7
2          10-20    5
1          0-10     1
I want to sort group first then interval simultaneously in ascending order which will look like this:
group   interval    count
1       00-10   1
1       20-30   4
2       10-20   5
2       10-20   7
2       20-30   3
2       30-40   2
I know how to do this separately but how to do it simultaneously?
(
    df
    .sort_values(by = ['group'], key = lambda s: s.str[0:].astype(int))
    .sort_values(by = ['interval'], key = lambda s: s.str[:2].astype(int))
    .reset_index(drop=True)
)
 
     
    