我想優化我的程式,它應該檢查日期并撰寫額外的行,這些行最終將顯示 6 個月的輸入日期。例如,如果我的某個 ID 的日期為 2021-01-01,我將連續 6 個月獲得具有相同 ID 和日期的行,開始的行是 2021 年 1 月(如下面的示例所示)。
我有一個包含兩列的資料框:ID 和 Demand_date,因為它在輸入中:
ID Demand_date
001 2021-01-01
002 2016-03-01
003 2015-10-01
輸出應該是這樣的:
ID Demand_date
001 2021-01-01
001 2021-02-01
001 2021-03-01
001 2021-04-01
001 2021-05-01
001 2021-06-01
002 2016-03-01
002 2016-04-01
002 2016-05-01
002 2016-06-01
002 2016-07-01
002 2016-08-01
003 2015-10-01
003 2015-11-01
003 2015-12-01
003 2016-01-01
003 2016-02-01
003 2016-03-01
我的程式中有太多回圈,對于 1M 的資料,它需要很長時間。
uj5u.com熱心網友回復:
使用嵌套串列理解來創建字典串列并通過DataFrame constructor添加新月份傳遞給
您可以映射日期范圍,并將其分解為新的資料框
temp = DF["DATE"].map(lambda x: pd.date_range(x, periods=3, freq='D')).reset_index()
temp = temp.rename(columns={"index":"ID"})
temp = temp.explode("DATE")
temp
這導致每天重新采樣;

我想你可以算出每月的重采樣。
希望有幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/453419.html
下一篇:熊貓資料框-添加其他?
