python - Pandas:如何在滚动窗口中找到高点后的低点
问题描述
对于一系列数字,我试图在滚动窗口内找到高点之后的低点。我能够计算窗口内的高点,但不能计算同一窗口内的低点。我正在使用 Pandas 并试图获取高索引并将其用作某种类型的参考,但我无法让它工作。
这是一些设置问题的代码:
dates = pd.date_range("20130101", periods=15)
temps = {'Temperature' :[16, 3, 26, 56, 2, 92, 54, 98, 73, 68, 80, 18, 75, 24, 12]}
df = pd.DataFrame(temps, index=dates, columns = ['Temperature'])
df['RollMax'] = df['Temperature'].rolling(5).max()
# df['Low_After_High'] = ### Lowest value after high has been reached within the window
输出应该是这样的:
解决方案
让我们apply
一起做idxmax
df['Low_After_High'] = df.Temperature.rolling(5).apply(lambda x : min(x[pd.Series(x).idxmax():]))
2013-01-01 NaN
2013-01-02 NaN
2013-01-03 NaN
2013-01-04 NaN
2013-01-05 2.0
2013-01-06 92.0
2013-01-07 54.0
2013-01-08 98.0
2013-01-09 73.0
2013-01-10 68.0
2013-01-11 68.0
2013-01-12 18.0
2013-01-13 18.0
2013-01-14 18.0
2013-01-15 12.0
Freq: D, Name: Temperature, dtype: float64
推荐阅读
- node.js - 我无法在浏览器(chrome 或 firefox)上设置仅 http cookie
- sql - 如何使用联接选择满足同一列的两个条件的记录?
- google-apps-script - Google Sheets Script -> 如何根据单元格触发器将行作为值复制到另一个选项卡中,然后清除触发器单元格?
- python - python 3中for循环索引和切片索引之间的连接
- java - 无法解析 org.web3j:core:5.0.0 的插件描述符
- r - ggsave 使用 ggarrange 创建的部分常见图例的剪辑
- javascript - 相当于可以在 POSTMAN 中使用的命令
- r - gganimate transition_event 与日期时间数据
- wordpress - htaccess:如果请求的 URL 不包含特定字符串,则将用户重定向到不同的域,同时保持 slug
- javascript - TypeScript:为什么我不能访问仅在一个对象上定义的联合类型的属性?