回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个多索引的熊猫数据框架,有3个级别。假设我有以下数据</p>
<pre><code>df = pd.DataFrame({'ColB': {('A1', 'B1', 1): 'cb1',
('A1', 'B1', 2): 'cb2',
('A1', 'B2', 1): 'cb3',
('A1', 'B2', 2): 'cb4',
('A2', 'B1', 1): 'cb5',
('A2', 'B1', 2): 'cb6',
('A2', 'B2', 1): 'cb7',
('A2', 'B2', 2): 'cb8'},
'colA': {('A1', 'B1', 1): 'ca1',
('A1', 'B1', 2): 'ca2',
('A1', 'B2', 1): 'ca3',
('A1', 'B2', 2): 'ca4',
('A2', 'B1', 1): 'ca5',
('A2', 'B1', 2): 'ca6',
('A2', 'B2', 1): 'ca7',
('A2', 'B2', 2): 'ca8'}})
ColB colA
A1 B1 1 cb1 ca1
2 cb2 ca2
B2 1 cb3 ca3
2 cb4 ca4
A2 B1 1 cb5 ca5
2 cb6 ca6
B2 1 cb7 ca7
2 cb8 ca8
</code></pre>
<p>现在,我有一个多索引对象,它包含前两个级别的索引,如</p>
<pre><code>MultiIndex([('A1', 'B2'),
('A2', 'B1')],
)
</code></pre>
<p>我想使用该多索引选择与该多索引对应的所有行,包括级别3中的所有索引,例如</p>
<pre><code> ColB colA
A1 B2 1 cb3 ca3
2 cb4 ca4
A2 B1 1 cb5 ca5
2 cb6 ca6
</code></pre>
<p>我该怎么做?我已经寻找答案好几个小时了,但我仍然没有任何线索。多谢各位</p>