[英]How to add days to pandas datetime until x day is met, while keeping the previous date?
這是我的數據目前的樣子:
STARTDATE ENDDATE
2021-07-16 2023-09-01
我想復制具有相同信息的行,同時將加 1 添加到開始日期,直到我到達結束日期。
我想要得到什么:
STARTDATE ENDDATE
2021-07-16 2023-09-01
2021-07-17 2023-09-01
2021-07-18 2023-09-01
2021-07-19 2023-09-01
......................
2021-08-31 2023-09-01
2021-09-01 2023-09-01
謝謝!
嘗試這個:
df.assign(STARTDATE = [pd.date_range(s,e) for s,e in zip(df['STARTDATE'],df['ENDDATE'])]).explode('STARTDATE')
如果您的起始df
沒有日期值,請先嘗試
df = df.apply(pd.to_datetime)
輸出:
STARTDATE ENDDATE
0 2021-07-16 2023-09-01
0 2021-07-17 2023-09-01
0 2021-07-18 2023-09-01
0 2021-07-19 2023-09-01
0 2021-07-20 2023-09-01
... ... ...
0 2023-08-28 2023-09-01
0 2023-08-29 2023-09-01
0 2023-08-30 2023-09-01
0 2023-08-31 2023-09-01
0 2023-09-01 2023-09-01
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.