使用列将两个 dfs 分组并连接所有行值



将两个基于 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'

mergepop连接列用于提取列:

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

最新更新