按资产匹配条件将指定dataframe列添加至另一dataframe的实现方案
你可以直接使用Pandas的左连接功能实现该需求,示例代码如下:
import pandas as pd # 以ASSET为关联键执行左连接,仅保留df1原有全部条目,匹配df2的AMOUNT字段 df1 = df1.merge(df2[["ASSET", "AMOUNT"]], on="ASSET", how="left")
参数说明
how="left":指定连接方式为左连接,核心作用就是完全保留左表(此处为df1)的所有行,不会新增df1中不存在的资产条目on="ASSET":指定两个DataFrame的匹配字段为ASSET,仅当两个表的ASSET值一致时才会匹配对应AMOUNT数据- 仅取
df2[["ASSET", "AMOUNT"]]参与合并是为了避免df2的其他无关字段被带入df1,若df2本身仅包含这两个字段,可直接替换为df2
如果存在df1中有、但df2中没有的资产,合并后对应AMOUNT值会显示为NaN,你可以根据需要补充空值处理逻辑,比如将空值填充为0:
df1["AMOUNT"] = df1["AMOUNT"].fillna(0).astype(int)
内容的提问来源于stack exchange,提问作者Diego M
相关产品推荐
相关产品推荐

