擅长:python、mysql、java
<p>我只需要<code>count</code>就可以做到这一点:</p>
<pre><code>train_df[sites].count(axis=1)
</code></pre>
<p><code>count</code>专门统计非空值。当前实现的问题是<code>notnull</code>产生布尔值,并且<code>bool</code>肯定不是null,这意味着它们总是被计数</p>
<hr/>
<pre><code>df
one two three four five
a -0.166778 0.501113 -0.355322 bar False
b NaN NaN NaN NaN NaN
c -0.337890 0.580967 0.983801 bar False
d NaN NaN NaN NaN NaN
e 0.057802 0.761948 -0.712964 bar True
f -0.443160 -0.974602 1.047704 bar False
g NaN NaN NaN NaN NaN
h -0.717852 -1.053898 -0.019369 bar False
df.count(axis=1)
a 5
b 0
c 5
d 0
e 5
f 5
g 0
h 5
dtype: int64
</code></pre>
<p>而且</p>
<pre><code>df.notnull().count(axis=1)
a 5
b 5
c 5
d 5
e 5
f 5
g 5
h 5
dtype: int64
</code></pre>