fillna:如何在接下来的x天内填充值

Max*_*axi 4 pandas

我有一个包含多个列的数据框,并按日期编制索引.我想填补缺失的值,但仅限于接下来的x天.这意味着如果索引的差异大于x天且此列中的先前非缺失值,则不会填充缺失值.

我用循环做了一些事情,但效率不高.这样做有更好,更优雅的方式吗?

我确切地说我的索引中的日期不是等间隔,所以limit参数不起作用.

And*_*den 5

您可以使用以下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)

另请参阅文档的缺失数据部分.