我有一个名为“贸易”的数据框,如下所示:

                        high              MFE_ts
exit_time
2000-02-01 01:00:00  1401.50 2000-02-01 01:00:00
2000-02-01 01:30:00  1401.00 2000-02-01 01:30:00
2000-02-01 02:00:00  1401.00 2000-02-01 01:30:00
2000-02-01 02:30:00  1399.75 2000-02-01 02:30:00
2000-02-01 03:00:00  1400.00 2000-02-01 02:30:00
2000-02-01 03:30:00  1399.25 2000-02-01 03:30:00
2000-02-01 04:00:00  1399.00 2000-02-01 03:30:00
2000-02-01 04:30:00  1400.25 2000-02-01 03:30:00
2000-02-01 05:00:00  1400.50 2000-02-01 03:30:00
2000-02-01 05:30:00  1400.75 2000-02-01 03:30:00


我想在右侧添加一个新列,其中应包含一系列的值,如下所示:

对于每一行,请获取“ MFE_ts”列中包含的时间戳,并创建一个从“高”列获取的值的列表,该值将跨越该时间戳到表的末尾。
例如,在最后一行中,输出应为= trade.loc['2000-02-01 03:30:00':, 'high']

我尝试了以下各种迭代

trade[MAE_pr] = trade.loc[trade['MFE_ts']:, 'high']


但没有成功。我认为一个序列或一个列表就可以了-我最终想为该新列MAE_pr中的每个单元格将max()或min()函数应用于该序列/列表。

最佳答案

尝试这个

df.apply(lambda x: df.high.loc[x.MFE_ts:], 1)


python - python pandas-在每个单元格中返回一个列表或一系列值-LMLPHP

关于python - python pandas-在每个单元格中返回一个列表或一系列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40856812/

10-15 01:01
查看更多