回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我怀疑这是微不足道的,但是我还没有发现一个咒语,它可以让我从Pandas数据框中根据层次键的值选择行。例如,假设我们有以下数据帧:</p>
<pre><code>import pandas
df = pandas.DataFrame({'group1': ['a','a','a','b','b','b'],
'group2': ['c','c','d','d','d','e'],
'value1': [1.1,2,3,4,5,6],
'value2': [7.1,8,9,10,11,12]
})
df = df.set_index(['group1', 'group2'])
</code></pre>
<p>df看起来和我们预期的一样:</p>
<p><img src="https://i.stack.imgur.com/VGwOg.png" alt="enter image description here"/></p>
<p>如果df未在group1上编制索引,我可以执行以下操作:</p>
<pre><code>df['group1' == 'a']
</code></pre>
<p>但在这个带有索引的数据帧上,这是失败的。所以也许我应该把它想象成一个有层次索引的熊猫系列:</p>
<pre><code>df['a','c']
</code></pre>
<p>没有。那也失败了。</p>
<p>那么,如何选择所有行,其中:</p>
<ol>
<li>组1='a'</li>
<li>组1='a'和组2='c'</li>
<li>组2='c'</li>
<li>['a','b','c']中的组1</li>
</ol>