我目前有一个数据帧,格式如下:
id,transaction_dt,units,measure
1,2014-01-06,30,30.5
1,2014-02-04,5,22.6
我希望达到以下目标:
创建新记录的基础是将单位按id添加到事务中,以创建如下所示的结果数据框:
id,enumerated_dt,measure
1,2014-01-06,30.5
1,2014-01-07,30.5
1,2014-01-08,30.5
...
1,2014-02-05,30.5
1,2014-02-04,22.6
1,2014-02-05,22.6
...
我认为stack可能是解决方案的一部分,但我目前正被困在如何以一种高效的方式枚举/增加日期上。任何建议或解决方案将不胜感激!你知道吗
编辑:在第二眼看来,您确实希望填补日期的空白,然后向前填充数据,这可以很容易地完成:
但是,如果您不想创建连续索引,而是想添加任意数量的行
N
,您可以先将“transaction\u dt”移动到索引:…然后使用这个lambda函数(使用numpy方法):
。。。在最终重新索引+向前填充之前,要向新索引的每个元素添加
n
日期:编辑#2:
再次假设您已经将索引设置为
transaction_dt
,这可能是使用units
中的值来确定要添加多少行的最简单方法。它使用pd.date_range
通过传递row.name
(即它的索引值)作为起始点,row.units
作为要生成的时段来创建必要的日期值。你知道吗您可以创建帮助数据框
相关问题 更多 >
编程相关推荐