0

我有一个带有“日期”列的 python 数据框,其中包含约 200 个元素,格式为 yyyy-mm-dd。

我有一个带有天数的第二列(在同一个数据框中)(这些天不同......有时是 1,有时是 360),但总是整数。

我想把这两个加起来。

日期列的类型为 datetime64 [ns],而“天”列的类型为 int64。

真的卡住了。我可以找到很多天数不变的例子,但没有天数在列中的例子。

请帮忙。

4

2 回答 2

1

date.timedelta是你所追求的

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

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

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

于 2020-02-25T02:01:05.510 回答
0

这是你想要的?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

输出/输出

在此处输入图像描述

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

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

输出/输出

在此处输入图像描述

于 2020-02-25T03:09:25.410 回答