首页 > 解决方案 > 如何根据多列值连接 Pandas DataFrames

问题描述

我有一个名为“记录”的数据框:

Name    Method   Path    January
Name1    Plane  LA-NY         20
Name2      Car  NY-LA         30

我想将新记录附加到它,同时将名称、方法和路径一起作为“键”。例如,如果我有数据框'to_add':

Name    Method   Path    February
Name1     Boat  LA-NY          20
Name2      Car  NY-LA          30

并将它与“记录”结合起来我应该得到这个(我试图让它先在路径上排序,然后是名称,最后是方法):

Name    Method   Path    January   February
Name1    Plane  LA-NY         20         20
Name1     Boat  LA-NY        Nan         30
Name2      Car  NY-LA         30         30

标签: pythonpandasdataframe

解决方案


您可以使用 pd.merge():

pd.merge(left=records, right=to_add, how='outer', on=['Name', 'Method', 'Path'])

推荐阅读