熊猫数据的标准填充方法允许限制矩阵中的下一个k项。现在,我不想用条目的数量来限制它,而是在一定的时间内限制它(我的索引是DatetimeIndex)。我的想法是,这些值有一种衰变,所以我想向前填充这些值,而不是用半个小时来填充NAs,但不要再往前写。我该怎么解决呢?
index value_a value_b diff
2016-01-01 00:01:00 2.8 NaN NaN
2016-01-01 00:06:00 2.8 5.4 -2.6
2016-01-01 00:11:00 NaN 5.4 NaN
2016-01-01 00:16:00 NaN NaN NaN
2016-01-01 00:21:00 NaN 5.4 NaN例如,在该示例中,我希望在未来的14分钟内替换NaN值,以便在value_a列中的00:21:00,NaN保持不变,而value_a和value_b的其他NaN消失。
发布于 2017-05-15 11:05:14
如果是重采样,可以使用resample + transform和聚合first
#for testing 10Min
df = df.resample('10Min').transform('first')
print (df)
value_a value_b diff
index
2016-01-01 00:01:00 2.8 5.4 -2.6
2016-01-01 00:06:00 2.8 5.4 -2.6
2016-01-01 00:11:00 NaN 5.4 NaN
2016-01-01 00:16:00 NaN 5.4 NaN
2016-01-01 00:21:00 NaN 5.4 NaN或者可能需要transform + ffill
df = df.resample('10T').transform('ffill')
print (df)
value_a value_b diff
index
2016-01-01 00:01:00 2.8 NaN NaN
2016-01-01 00:06:00 2.8 NaN NaN
2016-01-01 00:11:00 2.8 5.4 -2.6
2016-01-01 00:16:00 2.8 5.4 -2.6
2016-01-01 00:21:00 NaN 5.4 NaNhttps://stackoverflow.com/questions/43977728
复制相似问题