擅长:python、mysql、java
<p>你也可以看看下面的解决方案。你知道吗</p>
<pre><code>groups = df.groupby(['b','d'])
def reduce_values(dataframe):
vals = []
# print(dataframe.columns)
for i in dataframe.columns:
if dataframe[i].dropna().count():
vals.append(','.join(set(dataframe[i].dropna().str.split(',').sum())))
else:
vals.append(dataframe[i][dataframe[i].index[-1]])
return vals
# ndf
ndf = groups.apply(lambda x: pd.DataFrame([reduce_values(x)],columns=[i for i in x.columns if i not in groups.size().index.names])).reset_index(level=2,drop=True)
print(ndf)
</code></pre>