【发布时间】:2020-10-31 11:49:51
【问题描述】:
为重复的问题提前道歉,但我还没有找到可以解决之前问题的解决方案。
我无法连接具有不同 MultiIndex 的两个数据框。我想保留两个数据框中的所有列。
鉴于 df1 有约 300k 行,而 df2 有约 50k 行,则 df1:df2 之间的连接将是 many:1。
df1 B path_id
cust_id date
11 2015-02-24 10 13
28 2015-02-25 16 22
23 2015-02-26 21 19
15 2015-02-27 11 28
18 2015-02-28 29 10
df2 C
cust_id path_id
11 13 10
28 22 26
23 19 22
15 28 27
18 10 18
目标是将列C 分配给索引cust_id 和列path_id 的所有匹配组合。请参阅下面的 df3 作为示例。
df3 B C path_id
cust_id date
11 2015-02-24 10 10 13
28 2015-02-25 16 26 22
23 2015-02-26 21 22 19
15 2015-02-27 11 27 28
18 2015-02-28 29 18 10
感谢对此的任何回应。谢谢!
【问题讨论】:
-
如果你用你的结构创建了一些虚拟数据框,然后显示预期的输出,这将有很大帮助。 stackoverflow.com/questions/20109391/…
-
感谢您的建议。我已经更新了帖子。
-
由于您的索引级别似乎有名称,您可以在“cust_id”上使用更多。试试
df1.merge(df2, on=['cust_id','path_id'])
标签: python pandas dataframe multi-index