如何使用pandas将基于产品保质期的现有日期列派生的新日期列添加到我的csv文件中?

2024-05-19 22:46:58 发布

您现在位置:Python中文网/ 问答频道 /正文

^{tb1}$
  • LLQ:21天后到期

  • AZK:10天后到期

  • 冠心病:30天后到期

如何使用pandas根据产品保质期得出相应的有效期?请帮助,我是python新手,基本上是一般的编码


Tags: pandas编码产品新手有效期保质期tb1冠心病
2条回答

csv中的日期数据被识别为字符串。所以首先将其转换为日期时间格式

from datetime import datetime  
from datetime import timedelta 

df['LLQ'] = df['manufacturing date'].apply(lambda x: (datetime.strptime(x, "%m/%d/%Y") + timedelta(days=21)).strftime("%m/%d/%Y"))

对其他计算执行相同的操作

您可以使用:

d={'LLQ':21,'AZK':10,'CHD':30}
df['expires']=df['type'].apply(lambda x:d[x])

根据上面的代码,我们创建了一个列名“expires”

现在使用pd.to_datetime()方法,将“制造日期”转换为日期时间,并使用apply()方法和pd.offsets.Dateoffsets()方法:

df['manufacturing date']=df['manufacturing date']=pd.to_datetime(df['manufacturing date'])
df['expiry date']=df.apply(lambda x:x['manufacturing date']+pd.offsets.DateOffset(days=x['expires']),1)

现在,如果您打印df,您将获得所需的输出:

    Room    rack    type    no.of items manufacturing date    expires    expiry date
0   1       2       LLQ     6           2021-03-21              21       2021-04-11
1   1       2       AZK     6           2021-03-21              10       2021-03-31
2   1       2       CHD     6           2021-03-21              30       2021-04-20

现在,如果要将其保存/更新为csv,请使用to_csv()方法:

df.to_csv('filepath/filename.csv',index=False)

注意:以上更新您的csv文件,但先前存储的数据将被删除

相关问题 更多 >