我有一个数据框df1
,包含日期和其他值,如下所示:
date value1 value2 value3
20100101 1 2 3
20100102 1 2 3
20100103 1 2 3
20100104 1 3 4
20100105 1 3 4
20100106 1 3 5
20100107 1 3 6
接下来我想要从另一个数据框 df2
中更新一些值:
date value1
20100102 2
20100104 3
20100105 4
20100106 5
20100107 6
因此,预期的结果将是:
date value1 value2 value3
20100101 1 2 3
20100102 2 2 3
20100103 1 2 3
20100104 3 3 4
20100105 4 3 4
20100106 5 3 5
20100107 6 3 6
据我所知,使用左连接无法实现此操作,除了逐个迭代日期,还有什么快速简便的方法可以实现吗?
更新:
感谢所有答案!
当df2与df1具有不同的日期时,例如:
date value1
20100102 2
20100104 3
20100105 4
20100106 5
20100107 6
20100108 7
将
dropna(axis=0, how='any')
添加到 piRSquared 的答案中将解决此问题。
dropna(axis=0, how='any')
来删除在d1中找不到日期的d2中的行。 - undefined