如何解决如何将要素正确合并/结合到另一个数据框
我必须添加数据帧,我想将第一个数据帧的3个功能添加到第二个数据帧,但仅在它们与某个键值(TicketNr)匹配时才添加。该密钥不是唯一的,并且在两个数据帧中都可以多次出现。
我尝试了不同版本的concat,merge和join,但我无法按照他们的需要来获取。我不想将任何行添加到数据框中,只需添加这三列即可。
解决方法
您提到TicketNr在训练集中不是唯一的,但是如果我正确地假设只要TicketNr相同,TicketSurvRate,AllSurvived,AllDIED都是相同的,我们可以尝试以下方法:
# Drop duplicates to get one row per TicketNr,assuming that
# TicketSurvRate,AllSurvived,AllDIED are uniquely defined by TicketNr
x = engineered_train[
['TicketNr','TicketSurvRate','AllSurvived','AllDIED']].drop_duplicates()
# Merge test dataset with these de-duplicated stats.
# The how='left' parameter will keep all records from the test set.
# There will be `NaN`s where no match for TicketNr is found.
engineered_test.merge(x,how='left',on='TicketNr')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。