将未来日期添加到 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


凤凰求蛊
浏览 160回答 3
3回答

波斯汪

您可以执行以下操作:# set to timestampdf['date'] = pd.to_datetime(df['date'])# create a future date dfftr =  (df['date'] + pd.Timedelta(4, unit='days')).to_frame()ftr['Monthly Value'] = None# join the future datadf1 = pd.concat([df, ftr], ignore_index=True)        date Monthly Value0 2001-02-01           1001 2001-02-02           2002 2001-02-03           3003 2001-02-04           4004 2001-02-05          None5 2001-02-06          None6 2001-02-07          None7 2001-02-08          None

宝慕林4294392

我发现这也有效:df.append(pd.DataFrame({'date': pd.date_range(start=df.date.iloc[-1], periods= 4, freq='d', closed='right')}))

泛舟湖上清波郎朗

如果我理解正确,我们可以使用您的日期的最小值和最大值 + 4 天创建一个新的数据框。我们只是使用axis = 1将它连接回来。df['date'] = pd.to_datetime(df['date']) fdates = pd.DataFrame(    pd.date_range(df["date"].min(), df["date"].max() + pd.DateOffset(days=4)),columns=['future_date'])df_new = pd.concat([df,fdates],axis=1)print(df_new[['date','future_date','Monthly Value']])0 2001-02-01  2001-02-01          100.01 2001-02-02  2001-02-02          200.02 2001-02-03  2001-02-03          300.03 2001-02-04  2001-02-04          400.04        NaT  2001-02-05            NaN5        NaT  2001-02-06            NaN6        NaT  2001-02-07            NaN7        NaT  2001-02-08            NaN
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python