我正在瀏覽熊貓的時間序列資料庫。當事件發生時,我希望我正在計算的列存盤另一列的日期。如果事件不存在,我希望它使用同一列中上方單元格中的任何內容。我已經嘗試了以下但我無法讓它作業
DB['TimeFlag'] = np.where(DB['Event'] == 10,DB['Time'],DB['TimeFlag'].shift())
我知道它參考了自己,但它參考了一個應該已經計算過的單元格。這感覺應該有一個非常簡單的解決方案,但我找不到。在 excel 中很容易做到,并且我包含了我希望代碼執行的操作的可視化。有什么建議?

uj5u.com熱心網友回復:
使用 ffill() 怎么樣?
import pandas as pd
import numpy as np
DB = pd.DataFrame({'Time':['12:00', '12:01','12:02','12:03', '12:04', '12:05'],
'Event': [1, 0, 0, 0, 1, 0]})
DB['TimeFlag'] = np.where(DB['Event'] == 1, DB['Time'], np.nan)
DB['TimeFlag'] = DB['TimeFlag'].ffill()
輸出:
Time Event TimeFlag
0 12:00 1 12:00
1 12:01 0 12:00
2 12:02 0 12:00
3 12:03 0 12:00
4 12:04 1 12:04
5 12:05 0 12:04
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433579.html
