Панды: получить многоиндексный уровень в серии

У меня есть датафрейм с несколькими уровнями, например:

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

Я хочу создать новый столбец, используя уровень индекса под названиемsecondтак, чтобы я получил

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

Я могу сделать это путем сброса индекса, копирования столбца, а затем повторного применения, но это кажется более округлым.

Я старалсяdf.index.levels[1], но это создает отсортированный список, но не сохраняет порядок.

Если бы это был один индекс, я бы использовалdf.index но в мультииндексе, который создает столбец кортежей.

Если это решено в другом месте, пожалуйста, поделитесь, так как мне не повезло в поиске в архиве stackoverflow.

Ответы на вопрос(2)

Ваш ответ на вопрос