pandas 分組合並欄位(qbit)

qbit發表於2022-12-23

前言

  • 環境

    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

相關文章