我需要在具有MultiIndex的pandas DataFrame中设置一个单元格的值。有没有类似于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"]的值的方式,其中第一个条目是索引,第二个条目是列。
答案 0 :(得分:1)
IndexSlice
用于多个索引
idx = pd.IndexSlice
partial_corr.loc[idx['a', 'b'], idx['b']]
Out[431]: nan