组合 2 个具有不同列数的数据帧并将它们与 sum 聚合

Combining 2 dataframes with different number of columns and aggregate them with sum

所以我有这 2 个数据帧

df1
title      URL  number         date
    a   /url-1       1   21-02-2020
    a   /url-1      10   20-02-2020
    a   /url-1      17   19-02-2020
    b   /url-2     100   21-02-2020
    b   /url-2     106   20-02-2020
df2
   URL  number         date
/url-1       5   21-02-2020
/url-1      12   20-02-2020
/url-1      50   19-02-2020
/url-3       9   21-02-2020
/url-3      11   20-02-2020

所以我需要执行这些操作以将它们组合成 1 个数据帧:

1) 外部联接(如果我错了请纠正我)df1 和 df2 但我不知道如何在 4 列中显示结果,因为我需要按 "URL" 和 [=26 分组=]列(将在下面说明)。

2) 汇总 df1["number"] 和 df2["number"] 并将它们加在一起[=13​​=]

这是我想要的结果:

new_df
title      URL  number         date
    a   /url-1       6   21-02-2020
    a   /url-1      22   20-02-2020
    a   /url-1      67   19-02-2020
    b   /url-2     100   21-02-2020
    b   /url-2     106   20-02-2020
 null   /url-3       9   21-02-2020
 null   /url-3      11   20-02-2020

非常感谢您的帮助! :)

使用 pandas merge,将 how 选项设置为外部,并在 URL 和日期合并两个数据帧。
将两个数字相加并仅保留相关的列。

M = df1.merge(df2,how='outer', on=['URL','date'])
M['number'] = M.number_x.fillna(0).add(M.number_y.fillna(0))
M.filter(['title','URL','number','date'])

    title   URL number  date
0   a   /url-1  6.0 21-02-2020
1   a   /url-1  22.0    20-02-2020
2   a   /url-1  67.0    19-02-2020
3   b   /url-2  100.0   21-02-2020
4   b   /url-2  106.0   20-02-2020
5   NaN /url-3  9.0 21-02-2020
6   NaN /url-3  11.0    20-02-2020