所以我有这两个数据框
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”和“ date”列进行分组(如下所示) 。
2)汇总df1 [“ number”]和df2 [“ number”]并将它们加在一起
这是我想要的结果:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句