我有一个名为“贸易”的数据框,如下所示:
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-在每个单元格中返回一个列表或一系列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40856812/