如何基于共有列C|L|O|D|LN合并两个结构一致的DataFrame
基于Pandas的实现方案
直接使用Pandas的merge内连接即可完成需求,具体操作如下:
- 首先定义5个关联键的列表
join_keys = ["C", "L", "O", "D", "LN"]
- 执行内连接合并,内连接仅会保留两个表中关联键完全匹配的行,因为df2只有LN=1的记录,合并结果会自动过滤掉df1中LN≠1的行,无需额外过滤
import pandas as pd # 合并时可通过suffixes参数自定义非关联列的后缀,区分来自df1和df2的字段 merged_result = pd.merge( left=df1, right=df2, on=join_keys, how="inner", suffixes=("_df1", "_df2") )
如果需要额外加校验,也可以合并后再增加过滤逻辑,属于冗余保险操作:
merged_result = merged_result[merged_result["LN"] == 1]
内容的提问来源于stack exchange,提问作者John Mack
相关产品推荐
相关产品推荐

