我正在检索以下数据框的cummax()值,
exit_price trend netgain high low MFE_pr
exit_time
2000-02-01 01:00:00 1400.25 -1 1.00 1401.50 1400.25 1400.25
2000-02-01 01:30:00 1400.75 -1 0.50 1401.00 1399.50 1399.50
2000-02-01 02:00:00 1400.00 -1 1.25 1401.00 1399.75 1399.50
2000-02-01 02:30:00 1399.25 -1 2.00 1399.75 1399.25 1399.25
2000-02-01 03:00:00 1399.50 -1 1.75 1400.00 1399.50 1399.25
2000-02-01 03:30:00 1398.25 -1 3.00 1399.25 1398.25 1398.25
2000-02-01 04:00:00 1398.75 -1 2.50 1399.00 1398.25 1398.25
2000-02-01 04:30:00 1400.00 -1 1.25 1400.25 1399.00 1398.25
2000-02-01 05:00:00 1400.25 -1 1.00 1400.50 1399.25 1398.25
2000-02-01 05:30:00 1400.50 -1 0.75 1400.75 1399.50 1398.25
具有以下公式
trade ['MFE_pr'] = np.nan
trade ['MFE_pr'] = trade ['MFE_pr'].where(trade ['trend']<0, trade.high.cummax())
trade ['MFE_pr'] = trade ['MFE_pr'].where(trade ['trend']>0, trade.low.cummin())
现在,我想检索从每一行取cummax()的行的时间戳.
我一直在尝试以下方法:
trade['timestamp']= trade.index
trade ['MFE_ts'] = trade.groupby('MFE_pr')['timestamp'].first()
但我收到的结果是:
exit_price trend netgain high low MFE_pr \nexit_time
2000-02-01 01:00:00 1400.25 -1 1.00 1401.50 1400.25 1400.25
2000-02-01 01:30:00 1400.75 -1 0.50 1401.00 1399.50 1399.50
2000-02-01 02:00:00 1400.00 -1 1.25 1401.00 1399.75 1399.50
2000-02-01 02:30:00 1399.25 -1 2.00 1399.75 1399.25 1399.25
2000-02-01 03:00:00 1399.50 -1 1.75 1400.00 1399.50 1399.25
2000-02-01 03:30:00 1398.25 -1 3.00 1399.25 1398.25 1398.25
2000-02-01 04:00:00 1398.75 -1 2.50 1399.00 1398.25 1398.25
2000-02-01 04:30:00 1400.00 -1 1.25 1400.25 1399.00 1398.25
2000-02-01 05:00:00 1400.25 -1 1.00 1400.50 1399.25 1398.25
2000-02-01 05:30:00 1400.50 -1 0.75 1400.75 1399.50 1398.25
timestamp MFE_ts
exit_time
2000-02-01 01:00:00 2000-02-01 01:00:00 NaT
2000-02-01 01:30:00 2000-02-01 01:30:00 NaT
2000-02-01 02:00:00 2000-02-01 02:00:00 NaT
2000-02-01 02:30:00 2000-02-01 02:30:00 NaT
2000-02-01 03:00:00 2000-02-01 03:00:00 NaT
2000-02-01 03:30:00 2000-02-01 03:30:00 NaT
2000-02-01 04:00:00 2000-02-01 04:00:00 NaT
2000-02-01 04:30:00 2000-02-01 04:30:00 NaT
2000-02-01 05:00:00 2000-02-01 05:00:00 NaT
2000-02-01 05:30:00 2000-02-01 05:30:00 NaT
我究竟做错了什么?