擅长:python、mysql、java
<p>您可以使用itertoolsgroupby,这对于分组任务来说很常见。但是,这将使用一个循环(理解),这可能会影响有效性。在</p>
<pre><code>df = pd.DataFrame(
data = [[' '.join(g) for k,g in groupby(row) if k] for row in df.fillna('').values],
columns = df.columns[:4]
)
</code></pre>
<p>完整示例:</p>
^{pr2}$
<p>退货:</p>
<pre><code> col_a col_b col_c col_d
0 a a a a b c d
1 a a a a b c d
2 a a a b c d
3 a a a b c d
4 a a b c d
5 a a b c d
6 a b c d
7 a b c d
</code></pre>