【发布时间】:2018-03-07 08:19:04
【问题描述】:
我有两个 pandas 数据框,df1 和 df2。两者都至少有两列同名(c1 和 c2),然后还有其他列,例如:
df1
-----------------
c1 c2 c4 c5
-----------------
10 1 hh 2231
11 1 fgf 2142
12 1 fg 1232
df2
-----------------
c1 c2 c6 c7
-----------------
10 2 110 231
10 3 111 332
11 2 112 123
11 3 113 432
12 2 114 432
12 3 115 432
13 2 116 432
13 3 117 432
14 2 118 432
14 3 119 432
我想合并这两个数据框:
- df 中存在 c1 和 c2 的联合
- c4 和 c5 对来自 df1 的对应 c1 和 c2 值的所有实例重复
- 其余列,即 c6 和 c7 与 df2 中的 c1 和 c2 匹配,并与 df1 中的 c1 值匹配,然后添加到生成的 df 中。
在上一个问题中,我得到了执行外连接的答案,我根据 c1 和 c2 执行了外连接,并返回以下示例:
c1 c2 c4 c5 c6 c7
--------------------------------
10 1 hh 2231
10 2 110 231
10 3 111 332
但是,我想将 c4 和 c5 的值重复为结果 df,如下所示:
结果数据框:
c1 c2 c4 c5 c6 c7
-----------------------------------
10 1 hh 2231
10 2 hh 2231 110 231
10 3 hh 2231 111 332
11 1 fgf 2142
11 2 fgf 2142 112 123
11 3 fgf 2142 113 432
12 1 fg 1232
12 2 fg 1232 114 432
12 3 fg 1232 115 432
13 1 dd 4532
13 2 dd 4532 116 432
13 3 dd 4532 117 432
14 2 118 432
14 3 119 432
有人可以帮我解决这个问题吗?提前致谢!
【问题讨论】:
-
与上面的链接相同,只是您将合并 2 列,而不是 1 列。这与您之前的问题相似,对吗?
-
@cᴏʟᴅsᴘᴇᴇᴅ 上一个问题和这个问题之间的区别在于,在上一个问题中,我得到的结果如最后一个数据框(上面)所示,但正如我在这个问题中提到的那样,我想执行合并时,有一些列重复并且没有缺失值。所以我认为这不是一个重复的问题,而是对前一个问题的进一步增强。你能帮忙解决这个问题吗?谢谢!