pandas分组之后对相同group内的字段进行合并

更多、更及时内容欢迎留意微信公众号小窗幽记机器学习

背景

在pandas中对数据进行分组后,想要对相同组的数据进行其他字段的合并。类似场景:有2个字段,分别是文本内容和标签值。先根据文本内容进行分组,再对同一个组内的标签值进行合并,从而得到多标签值。

实施

测试:

    import pandas as pd
    df = pd.DataFrame({'text': ['华中科技大学', '武汉大学', '清华大学', '华中科技大学', '武汉大学'],
                       'label': ["985,理工", "985", "北京", "武汉", "武汉"]})
    print("初始df:")
    print(df)
    new_df = df.groupby(['text'])
    new_df = new_df['label'].apply(lambda x: ",".join(list(set(x.str.cat(sep=',').split(','))))).reset_index()
    print("同组text,合并label之后的df:")
    print(new_df)

输出结果:

初始df:
     text   label
0  华中科技大学  985,理工
1    武汉大学     985
2    清华大学      北京
3  华中科技大学      武汉
4    武汉大学      武汉
同组text,合并label之后的df:
     text      label
0  华中科技大学  武汉,985,理工
1    武汉大学     武汉,985
2    清华大学         北京


【更多、更及时内容欢迎留意微信公众号小窗幽记机器学习

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值