如何在数据框中创建开始和结束日期

时间:2021-03-12 08:58:06

标签: python pandas

Product component lead time
mobile  batteries  2days
mobile  charger    4 days
charger cable      2 days
charger adapter     2 days

我想创建一个开始日期和截止日期,例如适配器开始日期应该从今天开始,截止日期=开始日期+提前期。对于产品移动和组件充电器的开始日期等于充电器电缆的到期日 我如何在 python 中实现这个逻辑

1 个答案:

答案 0 :(得分:0)

该方法是使用 pandasdatetime 模块并从提前期列中增加天数。但是要将天数用作数字,必须从字符串中提取它(通过删除“天”,删除所有空格并将结果转换为整数)。以下是代码中的实现!

import pandas as pd
import datetime

d = {
    "Product":['mobile', 'mobile', 'charger', 'charger'],
     "component":['batteries', 'charger', 'cable', 'adapter'],
     "lead time":['2days', '4 days', '2 days', '2 days'] 
}
df = pd.DataFrame(data=d)
df['start date'] = datetime.datetime.now().date()
df['due date'] = ''
for i in range(0,len(df)):
  n = int(((df['lead time'][i]).replace("days","")).strip())
  df['due date'][i] = datetime.datetime.now().date()+datetime.timedelta(days=n)

结果数据帧将是 -

    Product component   lead time   start date  due date
0   mobile  batteries   2days       2021-03-12  2021-03-14
1   mobile  charger     4 days      2021-03-12  2021-03-16
2   charger cable       2 days      2021-03-12  2021-03-14
3   charger adapter     2 days      2021-03-12  2021-03-14
相关问题