python 时序数据拐点检测 python找曲线拐点_python 两点曲线

文章架构


1.python基础

1.1 python简介
都说python是门胶水语言,可以在需要的地方轻松地粘合目标需求。我觉得python的主要优点有两点:
① 只需聚焦实现逻辑:只要把逻辑捋顺,调用第三方库可以轻易实现处理逻辑。语法简洁,符合日常阅读的习惯。

② 容易获得相关的技术/理论支持:python社区庞大,只要关键词选取得当即可在网络上检索到大多数问题的解决办法。使用者众多,可以轻易找到使用者交流群组。

1.2 python安装
新手可以直接安装Anaconda,这是一个开源的python发行版本,发行版的意思就是在python官方本本的基础上添加了一些额外的内容。这些额外的内容在Anaconda中指的的是:

1. python科学计算相关的第三方库:集成大多数数据科学计算相关的包,大大节省了学习和使用过程中第三方库安装和配置的时间;

2. conda:开源软件包和环境管理系统,可以在集成环境的基础上管理和安装新的第三方库。

3. ipython:全称是“interactive Python”,相当于加强版的Python shell,除了基础的交互功能以外,还提供了以下的功能:

①支持jupyter的python计算“核”(Kernel)

②支持可交互的数据可视化

从而可以通过快速试错和迭代,提高编码、测试、调试的效率。

4. jupyter notebook,承载Ipython功能的一个Web应用程序,功能如下图所示。


python 时序数据拐点检测 python找曲线拐点_数据_02

笔者安装的版本(Anaconda官网截图)

python 时序数据拐点检测 python找曲线拐点_python 时序数据拐点检测_03

jupyter notebook 交互示意

1.3python语法和使用
个人水平和时间有限不作总结,推荐两个相关的教程:
① 文字教程:廖雪峰Python教程。使用姿势:
1)建立python语法知识体系:”全篇“扫描一遍;
2)当作工具参考:按照关键词+ sites:http://www.liaoxuefeng.com。
例如:python 类 site:http://www.liaoxuefeng.com,即可检索到该网站内关键词相关的内容。


python 时序数据拐点检测 python找曲线拐点_python_04


② 视频教程:优达学城免费课程:编程基础:Python,课程老师是一个亲和力满分的帅气印度裔小哥,内容适合完全零基础的小白同学。课程内容比较基础,但是学习的方法和练习内容都挺有意思。

2.python数据分析

2.0相关工具介绍:

  1. 使用的工具是anaconda集成的jupyter notebook(属于Ipython)


python 时序数据拐点检测 python找曲线拐点_数据结构_05


新建ipython notebook 文件(后缀.ipynb)

2 .主要使用pandas和matlibplot两个包

pandas是什么? pandas是一个能提供高效处理结构化数据的数据结构和函数(方法)。pandas 有两种数据结构,DataFrame和Numpy。为什么要单独创造新的数据结构呢?python自身的数据结构不好用吗?新数据结构有什么优势呢?答案是:新的数据结构好用得飞起,
这两种结构可以进行矩阵运算,这就意味着一些数学矩阵的处理可以被快速地完成,以及快速地进行查询并赋值;pandas提供了一系列的数据处理的函数(方法),例如从数据读取、数据预处理、数据分析和数据可视化都有相应的函数。值得注意的是,sql中的一些数据处理操作也可以轻易地实现,例如连接(join)操作,分组(groupby)等,都可以通过简洁易维护的代码实现。2.1数据获取① 数据读取:
1)读取数据库数据:pd.read_sql()
2)读取文本数据:pd.read_csv()
3)读取excel数据:pd.read_excel()
更多数据读取的姿势,可以结合具体需求和遇到的问题检索,绝大多数基础问题都会有现成的答案。检索相关函数用法时可以加上关键词 doc 即document的缩写,可以轻易搜到相关的文档。


# 以下时简单示例,不做过多的介绍


② 数据初始化:


import


python 时序数据拐点检测 python找曲线拐点_数据_06


# 2.通过“列表”组成的字典初始化:等长的numpy多维数组、等长的多维的list


python 时序数据拐点检测 python找曲线拐点_数据_07


2.2探索性分析① 数据预览


# 查看数据属性,列名和对应数据格式


② 数据切片


通过


python 时序数据拐点检测 python找曲线拐点_数据_08

数据长这样

可参考官方文档:Indexing and Selecting Data2.3数据清洗①行列处理:切片、排序、合并、转换


# 切片 见2.2.2


join效果图:


python 时序数据拐点检测 python找曲线拐点_数据结构_09


转置效果图:


python 时序数据拐点检测 python找曲线拐点_python_10


数据类型转换:


#  强制类型转换  int float category datetime64[ns] datetime64


③ 缺失值处理:定位、填充、删除


#  缺失值定位


④ 赋值


# 赋值 按位置、按条件、按行/列


2.4数据分析① 简单运算:“矩阵”运算


# 可以直接进行四则运算,会自动对齐index相同的数据,indexi不同则没有结果。


② 统计分析:统计指标计算、聚合分析


df_data


③ 可视化分析:对比、分布、联系、构成
待更新

(未完待续)

待更新:

  1. ipython简介(2019年7月29日更新)
  2. 可视化架构的实现
  3. 统计指标补全(2019年7月29日更新)
  4. 相关代码 ipython文件
  5. 从markdown到知乎的好用工具(直接从印象笔记复制过来,代码不能识别、序号会乱掉)