合并具有一列差异的两个表,同时将新值保留在正确的列中

Merging two tables with one column difference while keeping new values in the correct column

我正在尝试将两个 table 与除一个以外的所有相同列合并:
table1:

Product Name product_Model 2022-04-19  
p1           m1            20$  
p2           m2            5$  

table 2:

Product Name product_Model 2022-04-20  
p1           m1            20$  
p2           m2            10$  
p3           m3            100$  

我希望将它们组合起来,这样最终的输出将如下所示:

Product Name product_Model 2022-04-19 2022-04-20    
p1           m1            20$        20$  
p2           m2            5$         10$  
p3           m3            null       100$  

我正在使用此代码(删除模型列后):

table1.merge(table2, on='Product Name', how="outer")

这是结果:

Product Name product_Model 2022-04-19 2022-04-20  
p1           m1            20$        20$  
p2           m2            5$         10$  
p3           m3            100$    

注意 100$ 是如何移动到 '-19* 列的...
编辑:我正在读取和写入 .csv 文件。

您可以在 on 中传递多个值。所以你会:

left = pd.DataFrame(
    {
        "Name": ["P1", "P2", "P4"],
        "Model": ["M1", "M2", "M4"],
        "2022-04-19": ["20", "5", "8"]
    }
)
right = pd.DataFrame(
    {
        "Name": ["P1", "P2", "P3"],
        "Model": ["M1", "M2", "M3"],
        "2022-04-20": ["20", "5", "100"]
    }
)
result = pd.merge(left, right, on=["Name", "Model"], how="outer")
result = result.fillna('null')
Name Model 2022-04-19 2022-04-20
P1 M1 20 20
P2 M2 5 10
P4 M4 8 null
P3 M3 null 100