我有一个包含多个列的数据框,并按日期编制索引.我想填补缺失的值,但仅限于接下来的x天.这意味着如果索引的差异大于x天且此列中的先前非缺失值,则不会填充缺失值.
我用循环做了一些事情,但效率不高.这样做有更好,更优雅的方式吗?
我确切地说我的索引中的日期不是等间隔,所以limit参数不起作用.
您可以使用以下limit参数fillna:
df.fillna(method='ffill', limit=3) # ffill is equivalent to pad
Run Code Online (Sandbox Code Playgroud)
同样的道理也适用于对ffill,bfill方便的功能.
limit : int,默认None
最大尺寸间隙向前或向后填充
如果您的日期不均匀,您可以resample(按天)首先:
df.resample('D')
Run Code Online (Sandbox Code Playgroud)
另请参阅文档的缺失数据部分.