Skip to main content
 首页 » 编程设计

python之Pandas 合并和组连接

2025年05月04日11findumars

我想使用 pandas 在 MySQL 中执行类似 GROUP BY/GROUP_CONCAT 的操作。假设我有:

表_a

col_a col_b 
A     1 
B     2 
C     2 

表_b

col_a col_c 
A     VALUE_1 
A     VALUE_2 
B     VALUE_3 
C     VALUE_4 

我想要一个新的 table_c 如下:

col_a col_b col_c 
A     1      VALUE_1, VALUE_2 
B     2      VALUE_3 
C     2      VALUE_4 

我一直在使用 pd.merge 但我找不到一种方法来进行串联并避免重复。

请您参考如下方法:

或者在 merge 之后使用 agg

df1.merge(df2).groupby('col_a',as_index=False).agg({'col_b':'first','col_c':','.join}) 
Out[46]:  
  col_a  col_b            col_c 
0     A      1  VALUE_1,VALUE_2 
1     B      2          VALUE_3 
2     C      2          VALUE_4