百度指数是一款非常好用的工具,通过它我们能知道某些关键词在过去的一些日子里的热度变化趋势并能够对这些数据进行分析。如果能用得好百度指数,我们将能产出巨大的价值。你可以通过关注文章下方的Python实用宝典公众号,回复百度指数突变点获得本项目完整源代码。

今天的教程主要是来教大家如何找出百度指数中突变值的位置,如图所示画框框的部分:

30天的数据流中很容易通过人工的方法找到突变数据的位置,但如果是180天呢?这可就不好通过人工的方式来查找了:

如何使用Python自动找出这180天里的突变点?由于这里涉及到了对时间序列的突变点的检测,我们可以使用一种叫Pettitt突变点检测算法。

1.获取数据

通过开发者工具找到数据接口,结果发现其接口返回来的数据进行了加密:

看起来就很像字符串替换,如果要从头开始解密的话需要做一些对比工作(把源数据和该加密数据放一起进行比较)或者直接看前端源代码 。由于这里不是今天要讲的重点内容,我直接使用了他人的开源项目并做了一些修改, 百度指数爬虫 :https://github.com/longxiaofei/spider-BaiduIndex/tree/master/new_spider_without_selenium

你可以通过关注文章最下方的公众号(Python实用宝典),回复百度指数突变点获得本文所有的源代码。

调用接口爬取数据,然后将爬取到的数据按照关键词存放到数组中,你可以很轻易地修改我的代码增加/减少关键词,这里我为了简化问题,仅选择区块链一个关键词进行分析。代码如下:

结果如下:

2.突变点算法

Pettitt突变点检测算法是用R语言写的,实现其实很简单。作者并没有说为什么这么做,而是给了相应的数学公式,我们试着跟着作者的思路走,看看效果如何。

算法代码如下:

接下来需要将数据传入该函数,就能得到这段数据的突变点(一个),由于它只能找出一段数据里的一个突变点,而我们需要获得的是多个突变点,因此还得设置一个移动窗口,获得每个窗口中的突变位置。

3.设置窗口获得每个窗口的突变位置

将数据设为30天一个窗口,检测每个窗口中的突变值:

结果如下:

这样看实在是不好看出效果,让我们用matplotlib可视化一下:

结果:

说实话,不太满意这个结果,有两个突变点竟然没找出来,其中右边那个突变点其实比较重要。除开这两个突变点不说,整体上看,这个检测方法的效果还可以。

文章到此就结束啦, 你可以通过关注文章下方的公众号(Python实用宝典),回复百度指数突变点获得本文所有的源代码。

如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看

,有任何问题都可以在下方留言,我们会耐心解答的!

点击下方阅读原文可以获取本文所有代码和链接哦!

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

python 时间序列突变检测_Python 百度指数突变点检测相关推荐

  1. 【python】tkinter界面化+百度API—人脸检测(三)

    目录 百度API tkinter界面设计. 完整代码 实现结果如下: 百度API 人脸检测也是调用百度API去实现的.所以我们需要在百度AI开放平台-全球领先的人工智能服务平台里去进行人脸检测与属性分 ...

  2. python获取路由器信息_python 3.5实现检测路由器流量并写入txt的方法实例

    前言 本文主要给大家介绍了关于利用python 3.5检测路由器流量并写入txt的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍. 环境交代:win10+python3.6 代 ...

  3. python时间序列因果检验_Python Statsmodels的时间序列Ljung_Box检验

    Ljung-Box检验即LB检验,是时间序列分析中检验序列自相关性的方法.LB检验的Q统计量为: image.png 用来检验m阶滞后范围内序列的自相关性是否显著,或序列是否为白噪声,Q统计量服从自由 ...

  4. python时间序列动图_python中如何用matlibplot画时间序列图?

    学了编程后,突然发现用python画图是一件很容易的事.想要放松一下的小伙伴,今天我们一起来画一个时间序列图吧. 一.读取数据及处理 通过pandas读取CSV文件,keep_default_na参数 ...

  5. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

  6. python图像缺陷检测_python OpenCV 实现缺陷检测

    机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...

  7. python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪

    准备工作 python配置numpy和openCv库 读取图像和视频图像cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间)import cv2 ...

  8. python画地图经纬度_Python 百度API 画出美美哒热力地图(代码 数据)

    作者:王大伟 前言 现在是晚上22:22,我是不是很2 周围的人都在跨年刷朋友圈 我一个人在办公室默默打开博客 准备写一篇文章为2017画下句点 之前在写葡萄酒数据分析那篇文章时 曾想过做一个葡萄酒分 ...

  9. python 爬虫热搜_python百度热搜榜爬取

    # terminal中安装库 bs4 requests # pip install bs4 requests import requests from bs4 import BeautifulSoup ...

最新文章

  1. 微软WSUS服务器 3.0安装配置详解
  2. c++在调用类的时候不一定非得实例化对象哦,有时候你不写系统会为你默认生成一个临时实例对象哦~
  3. 每天学习一点,坚持学习!!
  4. burst tx 功能 开启_Serverspeeder 锐速config配置文件详解
  5. mate30pro 优化 开发者选项_10 个开发者必知的 MySQL 8.0 新功能
  6. pip国内加载速度慢解决方法
  7. python数据框去重_【Python】基于某些列删除数据框中的重复值
  8. 怎么用python画房子_怎么用python画小猪佩奇
  9. 【转】sqlserver使用sql导出索引
  10. ecshop修改后台登陆密码
  11. python模块介绍二。
  12. 第五章、SQL 语言学习(基础篇)
  13. linux打包解压包(tar.gz )
  14. 软件架构设计说明书该怎么写?
  15. 后台传给小程序的时间对象如何转为“YYYY/MM/DD“格式渲染
  16. Arcgis去除矢量文件Z值和/或M值方法
  17. 求解不定方程x^2+y^2=p的整数解
  18. Vue + vite 切换 favicon图标
  19. 计算CDS中密码子的数量
  20. 03 线型动态规划——LIS模型

热门文章

  1. 深入理解最强桌面地图控件GMAP.NET --- SOSO地图
  2. 消除SDK更新时的“https://dl-ssl.google.com refused”错误
  3. 电桥 应变片 误差来源及改进 思考题
  4. 2022-2028年中国循环经济产业深度调研及投资前景预测报告
  5. 什么是协同系统?--信息化入门扫盲
  6. pv vg lv 裸盘 裸设备 文件系统
  7. Python入门-基础语法笔记
  8. Java项目:JavaWeb实现网上图书商城系统
  9. 二十三种设计模式彩图XXOO
  10. 个税起征点上调至5000,用Python算一算能留下多少私房钱