擅长:python、mysql、java
<p>您可以使用<code>notna</code>和跨列求和来获得非空计数:</p>
<pre><code>import numpy as np
import pandas as pd
df = pd.DataFrame([[2010, 'Honda', np.nan, np.nan, 'Sedan', np.nan, '*'],
[2012, 'Yamaha', 'Kymco', np.nan, 'Truck', 'Sedan', '*'],
[2014, 'Harley', 'Kymco', 'Kymco', 'Ambulance', np.nan, '*']], columns=['year', 'motor1', 'motor2', 'motor3', 'vehicle1', 'vehicle2', 'reason'])
result = df.assign(count=df.loc[:, 'motor1':'vehicle2'].notna().sum(axis=1))
print(result)
</code></pre>
<p>输出:</p>
^{pr2}$
<p>要查看特定年份,只需使用布尔索引:</p>
<pre><code>print(result[result['year'] == 2010])
</code></pre>
<p>输出:</p>
<pre><code> year motor1 motor2 motor3 vehicle1 vehicle2 reason count
0 2010 Honda NaN NaN Sedan NaN * 2
</code></pre>