亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將未來日期添加到 DataFrame

將未來日期添加到 DataFrame

鳳凰求蠱 2022-07-05 19:02:43
如何將未來日期添加到數據框中?此日期時間增量僅將增量添加到相鄰列。import pandas as pdfrom datetime import timedeltadf = 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_date0 2001-02-01 00:00:00 2001-02-05 00:00:001 2001-02-02 00:00:00 2001-02-06 00:00:002 2001-02-03 00:00:00 2001-02-07 00:00:003 2001-02-04 00:00:00 2001-02-08 00:00:00所需的數據框:  date                future_date0 2001-02-01 00:00:00 2001-02-01 00:00:001 2001-02-02 00:00:00 2001-02-02 00:00:002 2001-02-03 00:00:00 2001-02-03 00:00:003 2001-02-04 00:00:00 2001-02-04 00:00:004                     2001-02-05 00:00:005                     2001-02-06 00:00:006                     2001-02-07 00:00:007                     2001-02-08 00:00:00
查看完整描述

3 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

您可以執行以下操作:


# 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


查看完整回答
反對 回復 2022-07-05
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

我發現這也有效:

df.append(pd.DataFrame({'date': pd.date_range(start=df.date.iloc[-1], periods= 4, freq='d', closed='right')}))



查看完整回答
反對 回復 2022-07-05
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

如果我理解正確,


我們可以使用您的日期的最小值和最大值 + 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.0

1 2001-02-02  2001-02-02          200.0

2 2001-02-03  2001-02-03          300.0

3 2001-02-04  2001-02-04          400.0

4        NaT  2001-02-05            NaN

5        NaT  2001-02-06            NaN

6        NaT  2001-02-07            NaN

7        NaT  2001-02-08            NaN


查看完整回答
反對 回復 2022-07-05
  • 3 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號