Python 熊猫:多索引选择
考虑以下数据帧Python 熊猫:多索引选择,python,pandas,Python,Pandas,考虑以下数据帧 In [136]: df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'C':np.arange(10,30,5)}).set_index(['A','B']) df Out[136]: C A B 1 1 10 2 15 2 1 20 2 25 In [130]: vals = pd.DataFrame({'A':[1,2],'values':[True,False]}).set_index('A
In [136]:
df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'C':np.arange(10,30,5)}).set_index(['A','B'])
df
Out[136]:
C
A B
1 1 10
2 15
2 1 20
2 25
In [130]:
vals = pd.DataFrame({'A':[1,2],'values':[True,False]}).set_index('A')
vals
Out[130]:
values
A
1 True
2 False
如何在vals
中仅选择具有相应True
值的df
行
如果我在两个帧上重置索引,我现在可以合并/连接它们并按我的意愿进行切片,但是如何使用(多)索引呢?一路布尔索引
In [65]: df[pd.Series(df.index.get_level_values('A')).isin(vals[vals['values']].index)]
Out[65]:
C
A B
1 1 10
2 15
请注意,您可以在多索引上使用xs
In [66]: df.xs(1)
Out[66]:
C
B
1 10
2 15
您能否澄清“仅选择
df
行以及vals
中相应的True
值”的含义?我不太明白你想要达到的目标。