【发布时间】:2022-01-12 17:26:43
【问题描述】:
我有三个数据框,一个包含截止日期,一个包含交货日期,第三个包含订单
import pandas as pd
cutoff = pd.DataFrame({'State': ['New Jersey','Idaho','Hawaii','Oklahoma'],
'January': ['2022-01-10','2022-01-17','2022-01-11','2022-01-15'],
'February': ['2022-02-15','2022-02-17','2022-02-11','2022-02-15'],
'March': ['2022-03-15','2022-04-17','2022-03-11','2022-03-15'],
'April': ['2022-04-15','2022-04-17','2022-04-11','2022-04-15'],
'May': ['2022-05-15','2022-05-17','2022-05-11','2022-05-15'],
'June': ['2022-06-15','2022-06-17','2022-06-11','2022-06-15'],
'July': ['2022-07-15','2022-07-17','2022-07-11','2022-07-15'],
'August': ['2022-08-15','2022-08-17','2022-08-11','2022-08-15'],
'September': ['2022-09-15','2022-09-17','2022-09-11','2022-09-15'],
'October': ['2022-10-15','2022-10-17','2022-10-11','2022-10-15'],
'November': ['2022-11-15','2022-11-17','2022-11-11','2022-11-11'],
'December': ['2022-12-15','2022-12-17','2022-12-11','2022-12-15']})
deliverydates = pd.DataFrame({'State': ['New Jersey','Idaho','Hawaii','Oklahoma'],
'January': ['2022-01-31','2022-01-30','2022-01-29','2022-01-31'],
'February': ['2022-02-28','2022-02-27','2022-02-28','2022-02-28'],
'March': ['2022-03-31','2022-04-30','2022-03-29','2022-03-31'],
'April': ['2022-04-30','2022-04-30','2022-04-29','2022-04-30'],
'May': ['2022-05-31','2022-05-30','2022-05-29','2022-05-31'],
'June': ['2022-06-30','2022-06-30','2022-06-29','2022-06-30'],
'July': ['2022-07-31','2022-07-30','2022-07-29','2022-07-31'],
'August': ['2022-08-31','2022-08-30','2022-08-29','2022-08-31'],
'September': ['2022-09-30','2022-09-30','2022-09-29','2022-09-30'],
'October': ['2022-10-31','2022-10-30','2022-10-29','2022-10-31'],
'November': ['2022-11-30','2022-11-30','2022-11-29','2022-11-11'],
'December': ['2022-12-31','2022-12-30','2022-12-11','2022-12-31']})
orders = pd.DataFrame({'Person': ['Lee','Smith','Johnson','Garcia'],
'State': ['New Jersey','Idaho','Hawaii','Oklahoma']})
我需要创建一个测试,将今天的日期与截止日期进行比较,并为每个订单分配下一个可能的交货日期。例如,今天是 1 月 12 日。史密斯在爱达荷州。 1 月 12 日早于爱达荷州的 1 月截止日期(1 月 15 日),因此他的交货日期是 2022 年 1 月 30 日。
然而,李在新泽西。今天 (1/12) 在 1 月截止日期 (1/10) 之后,因此他的交货日期现在是下一个最早交货日期 (2/28)。
我们的目标是将正确的交货日期合并到订单数据框中,以获得如下结果:
| Person | State | Delivery Date |
|---|---|---|
| Lee | New Jersey | 2022-02-28 |
| Smith | Idaho | 2022-01-30 |
| Johnson | Hawaii | 2022-02-28 |
| Garcia | Oklahoma | 2022-01-31 |
如果今天是 2 月 12 日,则需要选择下一个可能的交货日期,依此类推。
关于如何做到这一点的任何想法?谢谢!
【问题讨论】:
标签: python pandas dataframe date