首页 > 解决方案 > 将未来日期添加到 DataFrame

问题描述

如何将未来日期添加到数据框中?此日期时间增量仅将增量添加到相邻列。

import pandas as pd
from datetime import timedelta
df = pd.DataFrame({
    'date': ['2001-02-01','2001-02-02','2001-02-03', '2001-02-04'],
    'Monthly Value': [100, 200, 300, 400]
})

df["future_date"] = df["date"] + timedelta(days=4)

print(df)

  date                future_date
0 2001-02-01 00:00:00 2001-02-05 00:00:00
1 2001-02-02 00:00:00 2001-02-06 00:00:00
2 2001-02-03 00:00:00 2001-02-07 00:00:00
3 2001-02-04 00:00:00 2001-02-08 00:00:00

所需的数据框:

  date                future_date
0 2001-02-01 00:00:00 2001-02-01 00:00:00
1 2001-02-02 00:00:00 2001-02-02 00:00:00
2 2001-02-03 00:00:00 2001-02-03 00:00:00
3 2001-02-04 00:00:00 2001-02-04 00:00:00
4                     2001-02-05 00:00:00
5                     2001-02-06 00:00:00
6                     2001-02-07 00:00:00
7                     2001-02-08 00:00:00

标签: pythonpandasdatetime

解决方案


您可以执行以下操作:

# set to timestamp
df['date'] = pd.to_datetime(df['date'])

# create a future date df
ftr =  (df['date'] + pd.Timedelta(4, unit='days')).to_frame()
ftr['Monthly Value'] = None

# join the future data
df1 = pd.concat([df, ftr], ignore_index=True)

        date Monthly Value
0 2001-02-01           100
1 2001-02-02           200
2 2001-02-03           300
3 2001-02-04           400
4 2001-02-05          None
5 2001-02-06          None
6 2001-02-07          None
7 2001-02-08          None

推荐阅读