python - 如何在熊猫数据框列中找到趋势变化
问题描述
open high low close volume openclose
date
2020-08-04 09:15:00+05:30 227.00 229.00 226.40 226.70 157982 -0.30
2020-08-04 09:20:00+05:30 226.55 226.80 222.40 223.15 253212 -3.40
2020-08-04 09:25:00+05:30 223.00 223.15 220.15 220.15 236819 -2.85
2020-08-04 09:30:00+05:30 220.15 220.60 217.55 219.90 628153 -0.25
2020-08-04 09:35:00+05:30 219.70 221.80 218.90 221.60 260912 1.90
所以openclose
列有下降趋势,突然有上升趋势,如何判断是否有一系列下降趋势和趋势变化。
任何线索或帮助都会有所帮助。提前致谢
解决方案
您想确定导数( dy / dx
) 并查看它是负数还是正数。如果它是积极的,则意味着存在积极的趋势:
derivative = df['openclose'].diff() / df.index.to_series().diff().dt.total_seconds()
df['trend'] = derivative.gt(0).map({False: -1, True: 1})
open high low close volume openclose trend
date
2020-08-04 09:15:00+05:30 227.00 229.00 226.40 226.70 157982 -0.30 -1
2020-08-04 09:20:00+05:30 226.55 226.80 222.40 223.15 253212 -3.40 -1
2020-08-04 09:25:00+05:30 223.00 223.15 220.15 220.15 236819 -2.85 1
2020-08-04 09:30:00+05:30 220.15 220.60 217.55 219.90 628153 -0.25 1
2020-08-04 09:35:00+05:30 219.70 221.80 218.90 221.60 260912 1.90 1
推荐阅读
- php - 尝试在具有“资源”类型的命名空间类上创建函数
- c# - C# Discord.NET:为什么这个禁止模块会阻止任何人与我的机器人交互?
- javascript - 图像不可见(来源无法识别)
- node.js - node.js 在特定事件上重新运行脚本
- batch-processing - Cassandra 分区键可以跨一个键空间中的多个表吗?
- google-container-builder - Container Builder Slack 通知
- javascript - Ionic2/3 应用程序 html 页面上的图像
- javascript - 按对象数组过滤对象数组 [TypeScript] [ES6]
- python - 您可以使用 FileZilla 部署烧瓶应用程序吗?
- visual-studio - 如何防止 Visual Studio 在调试步骤期间打开选项卡?