【问题标题】:Group two dfs with a column and concat the all row values将两个 dfs 与一列分组并连接所有行值
【发布时间】:2019-03-27 17:10:59
【问题描述】:

根据 col1 值合并两个 dfs,并连接 col2 值。

我的 df1:

col1  col2      

Arm   'a'
Arm   'b'
Abc   'c' 
Abc   'd'  
Xzc   'e'

我的 df2:

col1     col2 

Abc    '1'
Arm    '2'
Abc    '3'
ers    '4'

事情是像合并dfs

merged_c1   merged_c2 
Arm         'a 2'
Arm         'b 2'
Abc         'c 1'
Abc         'c 3'
Abc         'd 1'
Abc         'd 3'

【问题讨论】:

    标签: python python-3.x python-2.7 pandas pandas-groupby


    【解决方案1】:

    merge 与带有pop 的连接列一起用于提取列:

    df = df1.merge(df2, on='col1')
    
    #if not necessary remove trailing '
    #df['col2'] = df.pop('col2_x') + ' ' + df.pop('col2_y')
    
    df['col2'] = df.pop('col2_x').str.strip("'") + ' ' + df.pop('col2_y').str.strip("'")
    print (df)
      col1 col2
    0  Arm  a 2
    1  Arm  b 2
    2  Abc  c 1
    3  Abc  c 3
    4  Abc  d 1
    5  Abc  d 3
    

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 2014-07-30
      • 2011-04-20
      • 1970-01-01
      • 2017-04-09
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多