擅长:python、mysql、java
<p>您可以在<code>axis=1</code>上使用<code>groupby</code>,并使用类似</p>
<pre><code>>>> def sjoin(x): return ';'.join(x[x.notnull()].astype(str))
>>> df.groupby(level=0, axis=1).apply(lambda x: x.apply(sjoin, axis=1))
ID Name a b
0 1 test1 1.0 a
1 2 test2 2.0 a
2 3 test3 2.0;3.0 b
3 4 test4 4.0 b
</code></pre>
<p>在这里,您可以使用所需的任何格式运算符,而不是使用<code>.astype(str)</code></p>