Reemplazar valores en un índice múltiple de pandas

Tengo un marco de datos con un índice múltiple. Quiero cambiar el valor del segundo índice cuando se cumplen ciertas condiciones en el primer índice. Encontré una pregunta similar (pero diferente) aquí:Reemplazar un valor en MultiIndex (pandas) lo que no responde a mi punto porque se trataba de cambiar una sola fila, y la solución también pasó el valor del primer índice (que no necesitaba cambiar). En mi caso, estoy tratando con varias filas y no he podido adaptar esa solución a mi caso.

Un ejemplo mínimo de mis datos está a continuación. ¡Gracias!

import pandas as pd
import numpy as np

consdf=pd.DataFrame()

for mylocation in ['North','South']:
    for scenario in np.arange(1,4):
        df= pd.DataFrame()
        df['mylocation'] = [mylocation]
        df['scenario']= [scenario]
        df['this'] = np.random.randint(10,100)
        df['that'] = df['this']  * 2
        df['something else']  = df['this'] * 3
        consdf=pd.concat((consdf, df ), axis=0, ignore_index=True)

mypiv = consdf.pivot('mylocation','scenario').transpose()

level_list =['this','that']
# if level 0 is in level_list --> set level 1 to np.nan
mypiv.iloc[mypiv.index.get_level_values(0).isin(level_list)].index.set_levels([np.nan], level =1, inplace=True)

La última línea no funciona: me sale:

ValueError: On level 1, label max (2) >= length of level  (1). NOTE: this index is in an inconsistent state

Respuestas a la pregunta(2)

Su respuesta a la pregunta