【问题标题】:How to merge cells into one by category in excel如何在excel中将单元格按类别合并为一个
【发布时间】:2021-05-26 14:30:32
【问题描述】:

我有这样的数据

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

我尝试过电源查询来转置,但由于我在“名称”列中复制了内容,所以它不起作用。

有没有什么方法可以在不使用 VBA 的情况下在 excel 中实现这一点?或者也可以用 python pandas 来完成。

提前致谢!

【问题讨论】:

    标签: python excel pandas merge pivot-table


    【解决方案1】:

    这是pandas中的解决方案:-

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

    然后:-

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

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

    newdf=newdf.to_frame()
    

    现在我们创建/定义一个函数:-

    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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 2014-06-13
      相关资源
      最近更新 更多