Python Pandas使用重复值合并数据帧

时间:2017-10-05 09:24:21

标签: python pandas merge

我有两个数据帧,比方说df1& df2并在日期时间列上合并它们,注意每个日期时间条目中有一个数据帧有多个条目 我希望将第二个数据帧的值放在第一个数据帧的每一行中 例如:

df1是:

date idx1 val
20171001 1 1.435
20171001 2 2.245
20171001 3 1.456
20171001 4 1.656
20171002 1 3.258
20171002 2 8.264
20171002 3 9.841
20171002 4 3.465

df2是:

date val2
20171001 4
20171002 6

我最终想要的是:
DF3:

date idx val1 val2
20171001 1 1.435 4
20171001 2 2.245 4
20171001 3 1.456 4
20171001 4 1.656 4
20171002 1 3.258 6
20171002 2 8.264 6
20171002 3 9.841 6 
20171002 4 3.465 6

我相信它相当容易,但我的大脑已停止运作.... 谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

使用

In [1288]: df1.merge(df2)
Out[1288]:
       date  idx1    val  val2
0  20171001     1  1.435     4
1  20171001     2  2.245     4
2  20171001     3  1.456     4
3  20171001     4  1.656     4
4  20171002     1  3.258     6
5  20171002     2  8.264     6
6  20171002     3  9.841     6
7  20171002     4  3.465     6