<p>IIUC您可以将<code>loc</code>与<code>slice</code><a href="http://pandas.pydata.org/pandas-docs/stable/advanced.html#cross-section" rel="nofollow">docs</a>一起使用:</p>
<pre><code>In [58]: df
Out[58]:
first bar baz foo qux
second one two one two one two one two
0 -0.313815 -0.160567 -0.028432 -1.169930 1.043274 0.353722 -0.912303 -1.041827
1 -0.317570 -0.452766 0.950578 0.467092 -1.960936 1.700110 0.003934 0.989709
2 0.091249 2.406773 1.848771 -1.275288 0.740245 0.657444 -1.157392 -0.103663
In [59]: df.loc[:, (['bar', 'baz'], slice(None))]
Out[59]:
first bar baz
second one two one two
0 -0.313815 -0.160567 -0.028432 -1.169930
1 -0.317570 -0.452766 0.950578 0.467092
2 0.091249 2.406773 1.848771 -1.275288
</code></pre>
<p>对于第二级:</p>
^{pr2}$
<p><strong>编辑</strong></p>
<p>对于您的数据帧:</p>
<pre><code>In [75]: df.loc[:, (slice(None), ['column_nameA', 'column_nameB'])]
Out[75]:
column_level1 column_name1 column_name2
column_level2 column_nameA column_nameB
0 0.1 1
1 0.2 2
2 0.3 3
In [77]: df.loc[:, (['column_name1', 'column_name2'], slice(None))]
Out[77]:
column_level1 column_name1 column_name2
column_level2 column_nameA column_nameB
0 0.1 1
1 0.2 2
2 0.3 3
</code></pre>