将2个具有不同列数的数据框组合在一起,并用和求和

中华F

所以我有这两个数据框

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

非常感谢您的帮助!:)

sammywemmy

使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将两个具有不同行大小的数据框组合在一起?

数据框:将具有相同列名的单独子列组合在一起

将日期的数据框和值的数据框组合在一起

将不同的数据框与 ID 列组合在一起

将两个数据框与重复的列组合在一起

将一个元素与不同列的所有其他元素组合在一起 / R

熊猫:通过选择值将具有相同列的两个数据框组合在一起

将 2 个数据帧与 Python 中的 NO COMMON 列组合在一起

熊猫:如何将具有相同列值的几行组合在一起,并创建一个涵盖所有可能性的新数据框?

将2个数据框组合在一起,在R中将一个社交网络创建为1个较大的数据框

将数据聚合/组合在一起

用公共行映射两个不同的数据框并将它们组合在一起

将两个SQL结果组合在一起以形成一个具有不同列名的结果集

如何在一段时间内将具有不同(但有时重叠)索引的数据帧组合在一起?

在Stata中,如何将多个具有不同轴的coefplot组合在一起?

将两个具有不同位置的SQL查询组合在一起并返回唯一的行

将两个数据框组合在一起

如何将pandas数据框中的列与重复的名称组合在一起?

将两个不同的表组合在一起进行查询

将多个数组与 identica 键和不同的值组合在一起

循环以创建带有新列的数据框,然后将它们组合在一起

如何将两个具有相同键的数组组合在一起?

如何将多个具有相同的键和列表作为值的地图组合在一起

如何将2个Foreach循环与不同的数组结果组合在一起?

将具有相同类别的产品组合在一起

如何将两个查询和订单数据组合在一起

有没有更简单的方法可以将100多个PySpark数据帧与不同的列组合在一起(不是合并,而是附加)

将 3 个大表与 2 个连接组合在一起

熊猫:如何根据相关列将数据框组合在一起(没有完全匹配项),以及可能的内部重复项?