如何在 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')
我有这样的数据
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')