Pandas: obtenha nível multi-índice como série

Eu tenho um quadro de dados com vários níveis, por exemplo:

idx = pd.MultiIndex.from_product((['foo', 'bar'], ['one', 'five', 'three' 'four']),
                                 names=['first', 'second'])
df = pd.DataFrame({'A': [np.nan, 12, np.nan, 11, 16, 12, 11, np.nan]}, index=idx).dropna().astype(int)

              A     
first second
foo   five     12
      four     11
bar   one      16
      five     12
      three    11

Quero criar uma nova coluna usando o nível de índice intituladosecond, para que eu receba

              A    B  
first second
foo   five     12   five
      four     11   four
bar   one      16   one
      five     12   five
      three    11   three

Eu posso fazer isso redefinindo o índice, copiando a coluna e reaplicando, mas isso parece mais abrangente.

eu tenteidf.index.levels[1], mas que cria uma lista classificada, não preserva a ordem.

Se fosse um único índice, eu usariadf.index mas em um índice múltiplo que cria uma coluna de tuplas.

Se isso for resolvido em outro lugar, compartilhe como não tive sorte em pesquisar nos arquivos do stackoverflow.

questionAnswers(2)

yourAnswerToTheQuestion