<p>您可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.mean.html" rel="noreferrer">^{<cd1>}</a>数据帧方法和<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.sort_values.html" rel="noreferrer">^{<cd2>}</a>系列方法:</p>
<pre><code>In [11]: df = pd.DataFrame(np.random.randn(4,4), columns=list('ABCD'))
In [12]: df
Out[12]:
A B C D
0 0.933069 1.432486 0.288637 -1.867853
1 -0.455952 -0.725268 0.339908 1.318175
2 -0.894331 0.573868 1.116137 0.508845
3 0.661572 0.819360 -0.527327 -0.925478
In [13]: df.mean()
Out[13]:
A 0.061089
B 0.525112
C 0.304339
D -0.241578
dtype: float64
In [14]: df.mean().sort_values()
Out[14]:
D -0.241578
A 0.061089
C 0.304339
B 0.525112
dtype: float64
</code></pre>
<p>然后可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html" rel="noreferrer">^{<cd3>}</a>对列重新排序:</p>
<pre><code>In [15]: df.reindex(df.mean().sort_values().index, axis=1)
Out[15]:
D A C B
0 -1.867853 0.933069 0.288637 1.432486
1 1.318175 -0.455952 0.339908 -0.725268
2 0.508845 -0.894331 1.116137 0.573868
3 -0.925478 0.661572 -0.527327 0.819360
</code></pre>
<hr/>
<p><em>注意:在早期版本的pandas中,<code>sort_values</code>过去是<code>order</code>,但是<code>order</code>作为0.17的一部分被弃用,以便与其他排序方法更加一致。另外,在早期版本中,必须使用<code>reindex_axis</code>,而不是<code>reindex</code>。</em></p>