擅长:python、mysql、java
<p>我们可以执行<code>groupby</code>+<a href="https://stackoverflow.com/questions/45970751/shift-nans-to-the-end-of-their-respective-rows">shift NaN</a>:PS您可以通过Divakar检查<code>justify</code>,以加快整个过程</p>
<pre><code>pd.concat([ y.apply(lambda t : sorted(t,key=pd.notnull)).dropna(thresh=2) for x , y in df.groupby('ref') ])
Out[121]:
ref name address
2 1.2 name1 address1
5 1.3 name2 address2
6 1.3 name2 address2
7 1.4 name3 NaN
8 1.4 name3 NaN
10 1.5 name4 address4
</code></pre>