将天数添加到Pandas数据框中的日期

问题描述 投票:2回答:2

我有以下数据帧:

import pandas as pd
df= pd.DataFrame({'type':['Asset','Liability'],'Amount':\
[10,-5],'Maturity Date':['2018-01-22','2018-01-23'],\
'Original Maturity':[1,2]})

我想在几天内将“原始成熟度”列添加到“到期日”列。我尝试过类似的东西:

df['Maturity Date']=df['Maturity Date']+pd.to_datetime(df['Original Maturity']).dt.days

但得到一个错误。有什么建议 ?

python python-3.x pandas
2个回答
3
投票

假设df['Maturity Date']是datetime类型:

In [24]: df['Maturity Date'] += pd.to_timedelta(df['Original Maturity'], unit='D')

In [25]: df
Out[25]:
   Amount Maturity Date  Original Maturity       type
0      10    2018-01-23                  1      Asset
1      -5    2018-01-25                  2  Liability

如果df['Maturity Date']是字符串dtype,则需要先将其转换为datetime:

df['Maturity Date'] = pd.to_datetime(df['Maturity Date'])

1
投票

这应该工作:

df['Maturity Date'] = pd.to_datetime(df['Maturity Date'])
df['Maturity Date'] += df['Original Maturity'].map(pd.offsets.Day)
© www.soinside.com 2019 - 2024. All rights reserved.