将整数列添加到日期列以使用 python 获得 'future date'
adding integer column to date column to get 'future date' using python
我有一个 python 数据框,其中一个 'date' 列包含 ~200 个元素,格式为 yyyy-mm-dd。
我有第二列(在同一数据框中),其中包含天数(这些天数各不相同……有时是 1,有时是 360),但始终是整数。
我想把两者加起来。
日期列的类型为 datetime64 [ns],'days' 列的类型为 int64。
真的卡住了。我可以找到很多天数不变的例子,但没有天数在列中的例子。
请帮忙。
date.timedelta就是你想要的
您可以使用它来指定天数(或其他 time/date 增量)
date = datetime.date(2030, 2, 2)
days = datetime.timedelta(2)
print(date + days)
或者,如果您使用的是 numpy,timedelta 将对 datetime64 类型执行相同的概念性操作
这是您要找的吗? Pandas 有自己的日期时间和 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
代码 将天数从第二列添加到第一列:
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
我有一个 python 数据框,其中一个 'date' 列包含 ~200 个元素,格式为 yyyy-mm-dd。
我有第二列(在同一数据框中),其中包含天数(这些天数各不相同……有时是 1,有时是 360),但始终是整数。
我想把两者加起来。
日期列的类型为 datetime64 [ns],'days' 列的类型为 int64。
真的卡住了。我可以找到很多天数不变的例子,但没有天数在列中的例子。
请帮忙。
date.timedelta就是你想要的
您可以使用它来指定天数(或其他 time/date 增量)
date = datetime.date(2030, 2, 2)
days = datetime.timedelta(2)
print(date + days)
或者,如果您使用的是 numpy,timedelta 将对 datetime64 类型执行相同的概念性操作
这是您要找的吗? Pandas 有自己的日期时间和 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
代码 将天数从第二列添加到第一列:
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