I have a multi-index pd.DataFrame. I want the index to be sorted in ascending order. However, the outermost level_1 is an exception. This level should be sorted according to ``["B", "A", "C"].
import pandas as pd
import numpy as np
# Create multi-index
index = pd.MultiIndex.from_tuples([
    ('B', 'Y', 'II', 'D'),
    ('A', 'X', 'I', 'A'),
    ('C', 'Z', 'II', 'B'),
    ('A', 'Y', 'I', 'B'),
    ('C', 'X', 'I', 'A')
], names=['level_1', 'level_2', 'level_3', 'level_4'])
# Create DataFrame with random values
data = np.random.randint(0, 10, (5, 2))
df = pd.DataFrame(data, index=index, columns=['column1', 'column2'])
print(df)
                                 column1  column2
level_1 level_2 level_3 level_4                  
B       Y       II      D              1        7
A       X       I       B              9        4
C       Z       I       B              5        3
A       Y       I       A              2        4
C       X       II      A              9        2
I am looking for the following result:
                                 column1  column2
level_1 level_2 level_3 level_4                  
B       Y       II      D              1        7
A       X       I       B              9        4
A       Y       I       A              2        4
C       X       II      A              9        2
C       Z       I       B              5        3
