如何在 excel 中按类别将单元格合并为一个单元格

How to merge cells into one by category in excel

我有这样的数据

Name Class
Mike A
Mike B
Dennis C
Dennis D
Dennis E
Dennis F
Dennis G
Allen A
Allen C
Allen D
Allen E

我想把数据做成这样

Name Class
Mike A,B
Dennis C,D,E,F,G
Allen A,C,D,E

我已经尝试使用 power query 进行转置,但它不起作用,因为我在 'Name' 列中有重复的内容。

有没有什么方法可以在 excel 中实现这一点而不使用 VBA?或者也可以用 python pandas.

来完成

提前致谢!

这是pandas中的解决方案:-

import pandas as pd    
df=pd.read_excel('your file name',engine='openpyxl')

然后:-

newdf=df.groupby('Name')['Class'].sum()

上面的代码会returnseries所以现在把它转换成dataframe:-

newdf=newdf.to_frame()

现在我们create/define一个函数:-

def func(val):
    return ','.join(val)

现在终于可以使用apply()方法了:-

newdf['Class']=newdf['Class'].apply(func)

现在如果你打印 newdf 你会得到你想要的输出

输出:-

        Class
Name    
Allen   A,C,D,E
Dennis  C,D,E,F,G
Mike    A,B

现在通过以下方式将其保存在 excel 文件中:-

newdf.to_excel('file name.xlsx')