[英]How to ignore NaN values for a rolling mean calculation in pandas DataFrame?
[英]Rolling over dataframe pandas and update values if NaN
我想在我的数据框上使用滚动功能。 这是我的系列:
指数 | 日期 | ID | value_dex |
---|---|---|---|
90256 | 2021-05-10 01:45:20 | 101904285 | 7.6 |
90257 | 2021-05-10 01:45:20 | 101904285 | 7.6 |
90258 | 2021-05-10 02:00:00 | 101904285 | 钠 |
90260 | 2021-05-10 02:00:44 | 101904285 | 6.9 |
90261 | 2021-05-10 02:00:44 | 101904285 | 钠 |
我想要的是 :
指数 | 日期 | ID | value_dex |
---|---|---|---|
90256 | 2021-05-10 01:45:20 | 101904285 | 7.6 |
90257 | 2021-05-10 01:45:20 | 101904285 | 7.6 |
90258 | 2021-05-10 02:00:00 | 101904285 | 7.6 |
90260 | 2021-05-10 02:00:44 | 101904285 | 6.9 |
90261 | 2021-05-10 02:00:44 | 101904285 | 6.9 |
如果 NaN,我想将列中的值拖动超过 30 分钟。 但是,我还希望在 30 分钟范围内遇到新值时停止拖动(在本例中,我们将新值拖动超过 30 分钟)。
我试过了:
ffill = lambda x: pd.DataFrame(x.rolling('30T', on='Date')[y].max(),
index=x.index)
data[y] = data.groupby('ID', as_index=False).apply(ffill)
但是在滚动过程中有新值时它不起作用。 您有任何解决方案来解决我的问题吗? 也许是现有的功能? 非常感谢 !
我相信您可以尝试将其用作 NaN 值的填充物:
data.fillna(method='ffill')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.