擅长:python、mysql、java
<p>如果你想这样做,你可以这样做:</p>
<pre><code>df[df.assign(NC = df.isnull().sum(1)).groupby('id')['NC'].transform(lambda x: x == x.min())]
</code></pre>
<p>输出:</p>
<pre><code> row_number id firstname middlename lastname
1 1 1 John Jacob Doe
2 2 2 Alison Marie Smith
</code></pre>
<p>对于断绳器:</p>
<p>添加行:</p>
<pre><code>df.loc[4,['row_number','id','firstname','middlename','lastname']] = ['4',2,'Mary','Maxine','Maxwell']
</code></pre>
<p>然后使用<code>groupby</code>、<code>transform</code>和<code>idxmin</code>:</p>
<pre><code>df[df.index == df.assign(NC = df.isnull().sum(1)).groupby('id')['NC'].transform('idxmin')]
</code></pre>
<p>输出:</p>
<pre><code> row_number id firstname middlename lastname
1 1 1 John Jacob Doe
2 2 2 Alison Marie Smith
</code></pre>