我的数据框df
的结构如下:
from rate to
0 CHF 1.000000 CHF
1 CHF 19.673256 MXN
2 CHF 0.000000 ZAR
3 CHF 0.000775 XAU
4 CHF 32.961405 THB
我已将其重新编入索引如下:
rate
from to
CHF CHF 1.000000
MXN 19.675255
ZAR 0.000000
XAU 0.000775
THB 32.961068
...
使用df = df.set_index(['from','to'],drop=True, append=False)
。
我想简单地使用一对索引在数据框上调用get
。例如,我希望df[['CHF','MXN']]
返回19.675255
,但会引发错误,说明"['CHF' 'MXN'] not in index"
。
看起来这应该非常简单 - 我做错了什么?
由于
答案 0 :(得分:1)
选项1
pd.IndexSlice
idx = pd.IndexSlice
df.loc[idx['CHF', 'MXN']]
rate 19.673256
Name: (CHF, MXN), dtype: float64
如果您想将结果作为标量,请致电.item
-
df.loc[idx['CHF', 'MXN']].item()
19.673256
选项2
xs
df.xs(['CHF', 'MXN'])
rate 19.673256
Name: (CHF, MXN), dtype: float64