将整数列添加到日期列以使用python获取'未来日期'

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

我有一个带有'date'列的python数据框,其中包含〜200个元素,格式为yyyy-mm-dd。

我有一个第二列(在同一数据框中),其中包含天数(这些天各不相同,有时是1,有时是360),但总是整数。

我想将两者加起来。

date列的类型为datetime64 [ns],'days'列的类型为int64。

确实卡住。我可以找到很多例子,其中的日子是恒定的,但是没有什么地方是在一列中的日子。

请帮助。

python datetime days elapsed
2个回答
0
投票

date.timedelta是您追求的

您可以使用它来指定天数(或其他时间/日期增量)

date = datetime.date(2030, 2, 2)
days = datetime.timedelta(2)
print(date + days)

或者,如果您使用的是numpy,则timedelta将对datetime64类型执行相同的概念性操作


0
投票

这是您要寻找的吗?熊猫有其自己的日期时间和timedelta模块,使事情变得简单。

示例数据框:

df = pd.DataFrame({'Dates_Col':['2019-12-15','2020-01-14','2020-03-19','2020-06-17','2019-08-12'], 'Days':[2,15,70,28,3]})
df

O / P

enter image description here

代码将第二列的天数添加到第一列:

df['Dates_Col'] = pd.to_datetime(df['Dates_Col']) #Convert the first column to pandas datetime type
df['Dates_Col'] = df['Dates_Col']+pd.to_timedelta(df['Days'],unit='d') #Convert the second column type to pandas timedelta type and add to first column (which is already in date time type)
df

O / P

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.