如何对Pandas DataFrame执行自连接获取关联字段值
方案1:使用map直接映射(最适合当前单字段匹配场景)
你只需要一行代码即可完成需求,map方法会自动用New_Date的值匹配Price Series的索引,遇到NaT会自动返回NaN,不会报错,也不会生成冗余字段:
test['New_Price'] = test['New_Date'].map(test['Price'])
方案2:join时仅传入需要的右表字段(适合后续可能扩展多匹配字段的场景)
如果后续需要同时匹配多个字段,也可以在join时只选择右表需要的字段,避免冗余:
test = test.join(test['Price'].rename('New_Price'), on='New_Date')
两种方案输出的结果都完全符合预期,不需要额外做字段删除、重命名操作。
内容的提问来源于stack exchange,提问作者Lopez
相关产品推荐
相关产品推荐

