簡體   English   中英

如果為 NaN,則滾動數據框 pandas 並更新值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM