首页 > 解决方案 > 如何创建日期范围作为列中的值的数据框?

问题描述

我有三个变量

csiti - 23454:(整数)

单位 - [ 11,22,33,44,55,66,77] :(始终具有特定长度'n'的整数列表)

begin_date - '2019-10-16' : (字符串)

如何从这些数据中创建一个数据框,例如

csiti     units forecast_date
1928422     11    2019-10-16  
1928422     22    2019-10-17  
1928422     33    2019-10-18  
1928422     44    2019-10-19  
1928422     55    2019-10-20  
1928422     66    2019-10-21  
1928422     77    2019-10-22  

forecast_date列应该是从begin_datevalue 开始的未来日期。

标签: pythonpandasdatedataframepandasql

解决方案


DataFrame构造函数与date_rangefor datetimes 与 period 参数按列表中值的长度一起使用units

csiti = 23454
units = [11,22,33,44,55,66,77]
begin_date = '2019-10-16'

df = pd.DataFrame({'csiti':csiti, 
                   'units':units,
                   'forecast_date':pd.date_range(begin_date, periods=len(units))})
print (df.head(10))
   csiti  units forecast_date
0  23454     11    2019-10-16
1  23454     22    2019-10-17
2  23454     33    2019-10-18
3  23454     44    2019-10-19
4  23454     55    2019-10-20
5  23454     66    2019-10-21
6  23454     77    2019-10-22

推荐阅读