前言

  • 环境

    Python 3.8
    Pandas 1.4.4

正文

  • 初始化数据

    >>> df0 = pd.DataFrame(data={
               'name': ['王二', '王二', '张三'],
               'tag': ['足球', '电影', '跑步'],
               'title': ['舅舅', 'uncle', 'man']
           })
    
    >>> df0
    name    tag   title
     0   王二  足球    舅舅
     1   王二  电影    uncle
     2   张三  跑步    man
  • 单字段合并

    >>> df = df0.groupby('name')['tag'].apply(lambda x: ';'.join(x)).reset_index()
    >>> df
    name    tag
     0   张三     跑步
     1   王二  足球;电影
  • 多字段合并

    >>> def combine(x: pd.DataFrame):
           ser = pd.Series({
               'tag': ';'.join(x['tag']),
               'title': ';'.join(x['title']).upper()
           })
           return ser
      
    
    >>> df = df0.groupby('name').apply(combine).reset_index()
    >>> df
    name    tag     title
     0   张三     跑步       MAN
     1   王二  足球;电影  舅舅;UNCLE
本文出自 qbit snap

qbit
268 声望279 粉丝