Как можно индексировать строки мультииндексного фрейма данных
import pandas as pd
import numpy as np
np.random.seed(0)
tuples = list(zip(*[['bar', 'bar', 'baz', 'baz'],['one', 'two', 'one', 'two']]))
idx = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(4, 2), index=idx, columns=['A', 'B'])
print(df)
A B
first second
bar one 1.764052 0.400157
two 0.978738 2.240893
baz one 1.867558 -0.977278
two 0.950088 -0.151357
, используя столбцы второго фрейма данных
idxDf = pd.DataFrame({'first':['bar','baz'],'second':['one','two']})
print(idxDf)
first second
0 bar one
1 baz two
, чтобы результирующий фрейм данных был
first second
bar one 1.764052 0.400157
baz two 0.950088 -0.151357
?
Очевидно, df[idxDf['first','second']]
не работает.