gpt4 book ai didi

python - Numpy 或 pandas : test whether upper or lower bound is reached in array/series, 并且首先到达

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:32 25 4
gpt4 key购买 nike

我有一个 pandas 系列。

我需要检查是否达到了系列的下限或上限。

如果同时达到下限和上限,我需要知道先达到哪个

我可以使用 .max().min() 函数来确定是否达到了边界之一:

def upper_bound_reached(series, upper_bound):
return series.max() >= upper_bound

def lower_bound_reached(series, lower_bound):
return series.min() <= lower_bound

我遇到的问题是先达到哪个

if upper_bound_reached(series, ub) and lower_bound_reached(series, lb):
# work out which bound is reached first

实现此目标最惯用的方法是什么?

一些图表显示了我正在寻找的内容:

未达到界限 - 返回 NONE:

no bound hit


仅达到上限 - 返回 UPPER:

upper bound hit first


两个边界都已达到,首先是下限 - 返回 LOWER:

lower bound hit first


最佳答案

s = pd.Series(np.sin(np.arange(0, 7, .1)))
upper_bound = 0.5
lower_bound = -0.5

filtered = s[(s >= upper_bound) | (s <= lower_bound)]

first_crossing = None
if not filtered.empty:
first_crossing = 'UPPER' if filtered.index[0] >= upper_bound else 'LOWER'

>>> first_crossing
'UPPER'

关于python - Numpy 或 pandas : test whether upper or lower bound is reached in array/series, 并且首先到达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37864466/

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