擅长:python、mysql、java
<p>使用:</p>
<pre><code>cols = df.columns[df.columns.str.isnumeric()]
#or selecting columns
#cols = df.columns[1:]
#cols = df.columns.difference(['match'])
df[int(cols[-1])+1]=df[cols].agg(lambda x: ', '.join(set(x.dropna())),axis=1)
#for string type
#df[f'{int(cols[-1])+1}']=df[cols].stack().groupby(level=0).agg(', '.join)
df = df.reindex(columns = df.columns.difference(cols))
print(df)
8 match
0 France, Morocco 1
1 France, Morocco 2
2 France, Morocco 3
3 China, United_States 4
4 China 5
</code></pre>
<p>我们还可以使用:</p>
<pre><code>df[int(cols[-1])+1] = (df[cols].stack()
.groupby(level=0)
.agg(lambda x: ', '.join(set(x)),axis=1))
</code></pre>