Есть ли эквивалент pd.DataFrame.at[index, column] для MultiIndex DataFrame?

Мне нужно установить значение ячейки в кадре данных pandas, который имеет MultiIndex. Есть ли способ, похожий на pd.DataFrame.at[index, column], который я могу использовать в MultiIndex DataFrame.

import pandas as pd
arrays = [["a", "b", "c"], ["a", "b", "c"]]
multi_index = pd.MultiIndex.from_product(iterables=arrays, names=["i", "k"])
partial_corr = pd.DataFrame(index=multi_index, columns=arrays[0])


partial_corr
Out[5]: 
       a    b    c
i k               
a a  NaN  NaN  NaN
  b  NaN  NaN  NaN
  c  NaN  NaN  NaN
b a  NaN  NaN  NaN
  b  NaN  NaN  NaN
  c  NaN  NaN  NaN
c a  NaN  NaN  NaN
  b  NaN  NaN  NaN
  c  NaN  NaN  NaN

В DataFrame partial_corr я хотел бы получить/установить значение

partial_corr.at["a", "b", "b"]

где первая запись в .at[] предназначена для индекса «i», вторая запись — для индекса «k», а третья запись — для столбца... аналогично тому, как один индекс DataFrame может возвращать значение df.at["a", "b"] где первая запись является индексом, а вторая запись является столбцом.


person Charlie Roe    schedule 29.03.2018    source источник


Ответы (1)


IndexSlice для множественного индекса

idx = pd.IndexSlice
partial_corr.loc[idx['a', 'b'], idx['b']]
Out[431]: nan
person BENY    schedule 29.03.2018