I have dataframe df
. Last Date is 2022-04-29 in df
. I want to Generate next 10 weekday(exclding Saturday and Sunday) dates in this dataframe, other columns can have Nan
values for generated dates.
df contains index as df.datetimeindex
df = df.set_index('Date').
df
Open High Low Close Volume Currency
Date
2021-04-26 14449.45 14557.50 14421.30 14485.00 448533331968 INR
2021-04-27 14493.80 14667.55 14484.85 14653.05 442211696640 INR
2021-04-28 14710.50 14890.25 14694.95 14864.55 453990809600 INR
2021-04-29 14979.00 15044.35 14814.45 14894.90 511466668032 INR
2021-04-30 14747.35 14855.45 14601.70 14631.10 594744508416 INR
... ... ... ... ... ... ...
2022-04-25 17006.10 17052.10 16889.75 16953.95 275571 INR
2022-04-26 17121.30 17223.85 17064.45 17200.80 261066000 INR
2022-04-27 17073.35 17110.70 16958.45 17038.40 265140000 INR
2022-04-28 17153.40 17314.45 17071.20 17245.05 312794 INR
2022-04-29 17329.25 17377.65 17053.25 17102.55 336244000 INR
Expected Output-
df
Open High Low Close Volume Currency
Date
2021-04-26 14449.45 14557.50 14421.30 14485.00 448533331968 INR
2021-04-27 14493.80 14667.55 14484.85 14653.05 442211696640 INR
2021-04-28 14710.50 14890.25 14694.95 14864.55 453990809600 INR
2021-04-29 14979.00 15044.35 14814.45 14894.90 511466668032 INR
2021-04-30 14747.35 14855.45 14601.70 14631.10 594744508416 INR
... ... ... ... ... ... ...
2022-05-02 Nan Nan Nan Nan Nan Nan
2022-05-03 Nan Nan Nan Nan Nan Nan
.....
Thanks.
CodePudding user response:
Try with pd.date_range
and reindex
:
df = df.reindex(df.index.union(pd.date_range(df.index.max(),periods=10,freq="B")))
>>> df
Open High Low Close Volume Currency
2022-04-25 17006.10 17052.10 16889.75 16953.95 275571.0 INR
2022-04-26 17121.30 17223.85 17064.45 17200.80 261066000.0 INR
2022-04-27 17073.35 17110.70 16958.45 17038.40 265140000.0 INR
2022-04-28 17153.40 17314.45 17071.20 17245.05 312794.0 INR
2022-04-29 17329.25 17377.65 17053.25 17102.55 336244000.0 INR
2022-05-02 NaN NaN NaN NaN NaN NaN
2022-05-03 NaN NaN NaN NaN NaN NaN
2022-05-04 NaN NaN NaN NaN NaN NaN
2022-05-05 NaN NaN NaN NaN NaN NaN
2022-05-06 NaN NaN NaN NaN NaN NaN
2022-05-09 NaN NaN NaN NaN NaN NaN
2022-05-10 NaN NaN NaN NaN NaN NaN
2022-05-11 NaN NaN NaN NaN NaN NaN
2022-05-12 NaN NaN NaN NaN NaN NaN