python - 检查值是否是前一个值、当前值和下一个值的最大值/最小值

标签 python pandas time-series

我有一个时间序列数据框,我想列出连续三天的日子,第二天最高的,但同样的事情Low 的值是第二天 的最低值。 我尝试了这两行,但我在查看数据后对日期进行了硬编码。我想知道是否有办法不对其进行硬编码。

df_highest = df.loc['1986-03-17':'1986-03-19', 'High'].max()

df_lowest= df.loc['1986-03-24':'1986-03-26', '低'].min()

这是一段数据。

enter image description here

最佳答案

尝试结合大于 (gt) 或小于 (lt) 的 diff 函数:

(df['High'].diff().gt(0)) & (df['High'].diff(-1).gt(0))

(df['Low'].diff().lt(0)) & (df['Low'].diff(-1).lt(0))

在您的屏幕截图示例中,这只会导致一系列错误值。

你也可以使用大于或等于(ge)或小于或等于(le),如果你还想在第二天的值等于到前一天/后一天。

例如,1986-03-17 日的最高价等于 1986-03-18 日的下一个最高价。或 1986-03-24/1986-03-25 低点。

这将为提到的日期创建一个 True 值。

关于python - 检查值是否是前一个值、当前值和下一个值的最大值/最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70360178/

相关文章:

python - PyCharm 中的 "ImportError: DLL load failed"和 conda : how to automatically import conda's PATH?

python - 使用 pandas to_datetime 时如何定义格式?

python - Pandas Lambda 函数 : attribute error 'occurred at index 0'

python - 在不同的目录中合并 pandas csv

python - 多个时间序列的 Matplotlib 热图显示随时间的分布

python - 如何自定义 Sphinx 的代码块语言?

python - 是否有命令显示最后 "n"命令运行需要多长时间?

r - 按周计算每日观察次数

python - django.db.utils.IntegrityError : FOREIGN KEY constraint failed while executing LiveServerTestCases through Selenium and Python Django 错误

python - Python 中的 prophet 包和 fbprophet 有什么区别?