首页 > 解决方案 > 将天数转换为日期时间

问题描述

我见过很多相反的例子(日期时间-> 天数),但似乎无法弄清楚如何将天数转换为日期时间。

我有一个看起来像这样的df:

day person var
1   1      a
2   1      b
3   1      a
1   2      b
2   2      b
3   2      b
1   3      a
2   3      a
3   3      b
............
180 1      b

假设 day=1 等于 datetime=01/01/2019,我将如何将 day 变量转换为日期时间?

标签: pythonpython-3.xpandas

解决方案


这是一个纯粹的熊猫解决方案:

start_date = pd.to_datetime('2019-01-01')
df['date'] = pd.to_timedelta(df['day']-1, unit='D') + start_date

输出:

   day  person var       date
0    1       1   a 2019-01-01
1    2       1   b 2019-01-02
2    3       1   a 2019-01-03
3    1       2   b 2019-01-01
4    2       2   b 2019-01-02
5    3       2   b 2019-01-03
6    1       3   a 2019-01-01
7    2       3   a 2019-01-02
8    3       3   b 2019-01-03

推荐阅读