如何根据PSP字段匹配规则为pandas的df1新增来自df2的Funk列
实现方案
你完全不需要手动遍历行匹配,pandas内置的函数可以高效完成这个需求,以下两种方案都可以实现:
方案1:merge左连接(最直观)
直接基于公共列PSP做左连接即可,不会改变df1原有行的顺序和数量:
df1 = df1.merge(df2, on='PSP', how='left')
方案2:映射匹配(效率更高,适合大数据量场景)
先把df2的PSP和Funk的对应关系转成字典,再给df1的PSP列做映射,运行速度比merge还要快:
# 构建PSP到Funk的映射字典 psp_funk_map = df2.set_index('PSP')['Funk'].to_dict() # 给df1新增Funk列 df1['Funk'] = df1['PSP'].map(psp_funk_map)
如果有部分df1的PSP在df2里不存在,对应Funk列会默认填充NaN,你可以按需设置默认值,比如填充为未匹配:
df1['Funk'] = df1['Funk'].fillna('未匹配')
内容的提问来源于stack exchange,提问作者0101010
相关产品推荐
相关产品推荐

