所以我有这两个数据
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-2020df2
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个dataframe:
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(非常感谢您的帮助!)
发布于 2020-02-21 09:19:32
使用熊猫合并,将“如何”选项设置为“外部”,并将“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-2020https://stackoverflow.com/questions/60334939
复制相似问题