Cambiar nombres de columnas en pandas con columnas jerárquicas
Digamos que tengo un marco de datos con un índice jerárquico:
>>> df = pd.DataFrame(np.ones((2, 4)))
>>> df
0 1 2 3
0 1 1 1 1
1 1 1 1 1
[2 rows x 4 columns]
>>> df.columns = pd.MultiIndex.from_product([['a', 'b'], ['i', 'ii']])
>>> df
a b
i ii i ii
0 1 1 1 1
1 1 1 1 1
[2 rows x 4 columns]
¿Hay una manera fácil de cambiar los nombres de columna en 'b'? Pensé que lo siguiente era intuitivo, pero no funciona.
>>> df['b'].columns = ['iii', 'iv']
>>> df
a b
i ii i ii
0 1 1 1 1
1 1 1 1 1
[2 rows x 4 columns]