如何基于COD_ENCUESTAS列匹配合并两个DataFrame数据
基于COD_ENCUESTAS列合并两个DataFrame(保留df1全部行)
现有两个DataFrame:
- df1包含
P_SEXO、P_EDADR、COD_ENCUESTAS列,其中COD_ENCUESTAS存在重复值 - df2包含
COD_ENCUESTAS和VA1_ESTRATO列
需基于COD_ENCUESTAS列将两表匹配合并,得到包含df1全部行及对应VA1_ESTRATO值的结果表。
df1表结构
P_SEXO P_EDADR COD_ENCUESTAS <dbl> <dbl> <dbl> 1 2 16 74 2 2 9 75 3 2 18 75 4 2 11 75 5 2 11 76 6 2 1 76
df2表结构
COD_ENCUESTAS VA1_ESTRATO <dbl> <dbl> 1 74 24 2 75 23 3 76 12 4 77 23 5 78 14 6 79 11
期望输出结果
P_SEXO P_EDADR COD_ENCUESTAS VA1_ESTRATO <dbl> <dbl> <dbl> <dbl> 1 2 16 74 24 2 2 9 75 23 3 2 18 75 23 4 2 11 75 23 5 2 11 76 12 6 2 1 76 12
实现代码
使用Pandas的merge函数执行左连接,即可保留df1全部行并匹配对应值:
import pandas as pd merged_df = pd.merge(df1, df2, on='COD_ENCUESTAS', how='left')
说明:how='left'参数确保保留df1的所有记录,若df1中某条COD_ENCUESTAS在df2无匹配项,对应VA1_ESTRATO会显示为NaN。
内容的提问来源于stack exchange,提问作者lasagna
相关产品推荐
相关产品推荐

