【发布时间】:2021-04-09 12:41:30
【问题描述】:
我的第一个 Pandas 数据框看起来(示例性地)如下 - Date 的值是 datetime,Temp in F 的值是 float 和 Signal 的值是 string。
Date Temp in F Signal
1 1990-10-01 2.23337 freeze
2 1991-07-31 2.99860 defrost
3 1991-10-01 3.12221 freeze
4 1992-07-31 3.2328 defrost
5 1992-10-01 4.21327 freeze
6 1993-07-29 2.23222 defrost
7 1993-10-01 1.53200 freeze
8 1994-07-29 2.15030 defrost
9 1994-10-03 1.22299 freeze
.. ... ... ...
57 2018-10-01 8.95045 freeze
58 2019-07-31 9.32463 defrist
59 2019-10-01 9.34722 freeze
60 2020-07-31 10.53200 defrost
61 2020-10-01 10.34000 freeze
我的第二个 Pandas 数据框看起来(示例性)如下 - Date 的值是 datetime,Moisture 的值是浮点数。
Date Moisture
1994-05-27 4.21232
1995-05-19 3.30000
1996-05-24 3.43227
1997-05-23 3.63333
1998-05-15 4.60000
1999-05-28 2.43240
2000-05-26 1.34237
2001-05-21 1.23430
2002-05-29 2.34343
2003-05-02 1.83433
2004-04-29 2.34341
2005-06-28 3.15373
2006-05-05 1.78565
2007-05-04 0.34533
2008-08-02 0.42267
2009-05-07 0.40000
2010-08-07 0.30000
2011-05-06 2.30000
2012-05-04 3.12300
2013-05-06 4.10200
2014-05-02 2.42000
2015-05-08 2.53300
2016-06-09 1.20000
2017-05-11 1.45000
2018-05-10 1.30000
2019-05-15 1.67230
2020-05-29 2.34000
现在我想根据日期值将Moisture 的值添加到第一个数据帧中,其中Signal 是freeze。举个例子
- 在第二个数据帧中:值 4.21232 记录于 1994 年 5 月 27 日。该值应添加到日期为 1994-10-03 的数据框 1 行,因为它在潮湿日期 (=1994-05-27) 之后并且信号冻结。
- 在第二个数据帧中:值 1.67230 记录于 2019 年 5 月 15 日。该值应添加到日期为 2019-10-01 的数据框 1 行,因为它在潮湿日期 (=2019-05-15) 之后并且信号冻结。
- 如果未找到中间日期的值,则应保持为空。
此过程应使用第二个数据帧的“水分”列的所有值完成,以便修改后的第一个数据帧应如下所示:
Date Temp in F Signal Moisture
1 1990-10-01 2.23337 freeze
2 1991-07-31 2.99860 defrost
3 1991-10-01 3.12221 freeze
4 1992-07-31 3.2328 defrost
5 1992-10-01 4.21327 freeze
6 1993-07-29 2.23222 defrost
7 1993-10-01 1.53200 freeze
8 1994-07-29 2.15030 defrost
9 1994-10-03 1.22299 freeze 4.21232
.. ... ... ...
57 2018-10-01 8.95045 freeze 1.30000
58 2019-07-31 9.32463 defrist
59 2019-10-01 9.34722 freeze 1.67230
60 2020-07-31 10.53200 defrost
61 2020-10-01 10.34000 freeze 2.34000
有人知道如何解决这个问题吗?
【问题讨论】:
-
您可以向您的代码展示您想要实现的目标,以便您对此有更多了解
-
究竟有什么不清楚的地方?
标签: python pandas dataframe date join