擅长:python、mysql、java
<p>在我看来,最简单的方法是通过<a href="http://pandas.pydata.org/pandas-docs/stable/indexing.html#boolean-indexing" rel="nofollow noreferrer">^{<cd2>}</a>移除<code>0</code>值,然后<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.sort_values.html" rel="nofollow noreferrer">^{<cd3>}</a>:</p>
<pre><code>s = df.isna().sum()
s = s[s != 0].sort_values(ascending=False)
</code></pre>
<p>或者使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.any.html" rel="nofollow noreferrer">^{<cd4>}</a>表示至少有一个<code>True</code>(一个<code>NaN</code>)的纯筛选器列:</p>
^{pr2}$
<p>样品:</p>
<pre><code>df = pd.DataFrame({
'A':list('abcdef'),
'B':[np.nan,5,np.nan,5,5,np.nan],
'C':[7,8,9,np.nan,2,3],
'D':[1,3,5,7,1,0],
'E':[np.nan,3,6,9,2,np.nan],
'F':list('aaabbb')
})
s = df.isna().sum()
s = s[s != 0].sort_values(ascending=False)
print (s)
B 3
E 2
C 1
dtype: int64
</code></pre>