gpt4 book ai didi

python - 检查某个值在时间范围内是否超过阈值的最佳方法

转载 作者:行者123 更新时间:2023-11-30 23:29:11 25 4
gpt4 key购买 nike

给定一个来自 csv 的 pandas 数据框,如下所示:

DATE,DESCRIPTION,SELL,BUY:
2014-01-16 15:25:57.817728,"text1",7,10
2014-01-16 15:26:01.445759,"text2",5,8
2014-01-16 15:26:57.856787,"text3",4,10
...

检查“买入”列中的值在给定时间范围内是否低于某个阈值(例如,在 . 分钟 40 和 . 分钟 50 之间)然后返回该行的最好方法是什么数字 ? (仅当发生交叉时,如果值在给定时间之前已经低于特定阈值则不)

最佳答案

假设您的行按时间递增顺序排序,就像您的示例一样(并且“DATE”是数据列而不是索引),那么这是实现您想要的效果的一种方法:

穿越THRESHOLD下方在第 t 行意味着 BUY < threshold在 t 和 BUY >= THRESHOLD在 t-1 时。假设D是你的数据框,这是通过条件实现的:

cond = (D['BUY'] < threshold) & (D['BUY'].shift(1) >= threshold)

获取 START_TIME 之间的所有交叉时间行索引和END_TIME :

d = D[cond]

cross_row_inds = d[(d['DATE'] >= START_TIME) & (d['DATE'] <= END_TIME)].index

您也可以先选择时间,如果DATE,这可能会稍微快一些。是排序的日期时间索引而不是数据列。但是,根据您的语义,您可能需要在 START_TIME 之前包含一个时间实例。

关于python - 检查某个值在时间范围内是否超过阈值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21248159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com