python数据可视化工具除了matplotlib底层绘图包,还有在matplotlib基础上分装的seaborn绘图包,此外,数据分析报pandas也在matplotlib基础上分装内置了绘图功能。以下将基于pandas自带的数据可视化功能,对gafata(谷歌、亚马逊、Facebook、苹果、腾讯和阿里巴巴)这六家公司的股票做数据可视化分析。

一、提出问题

了解gafata六家公司股票2017年的动态变化情况,并通过可视化图像直观进行展示。

二、获取数据

2.1、导入所需要的数据包

导入数据分析包:import pandas as pd。

导入互联网数据获取包:from pandas_datareader import data(pandasdatareader在终端promote中安装时,中间的连接符为破折号“-”:conda install pandas-datareader,在导入包时,中间的连接符为下划线“_”)。该数据包可以获取国内外的股票数据。导入所需要的数据包

2.2、获取数据

第一步,我们使用字典的映射关系,为股票定义名称,方便后续数据分析操作。字典键为我们分析时方便使用的名称,字典的值为股票名称,股票名称需要与获取数据的目标网站的名称一致,否则后续无法获取相应股票数据。股票键值对

第二步,自定义函数change(),计算股票涨跌幅。

股票涨跌幅=(现在股价-买入股价)/买入股价。

第三步,从网站上获取数据。使用函数get_data_yahoo()获取雅虎上目标股票数据。定义start_date为获取股票的起始时间,end_date为获取股票的结束时间。并通过head()函数查看获取的数据集情况。获取数据

2.3、数据清洗

通过head可以看出获取的数据中,open为开盘价,High为最高价,low为最低价,close为收盘价,volumn为成交量。获取的数据集为pandas二维数组的数据框类型。

交易日期这一列为数据集的索引,并按时间顺序从小到大排序完成,符合我们分析要求。索引为时间

我们使用info()函数查看数据集整体情况,发现获取的数据集非常完成,没有缺失值。没有缺失值

使用dtypes函数查看数据集中各列数据的数据类型,均为float类型,符合我们分析需求。各列数据类型

使用describe()函数查看数据集的描述统计信息。阿里巴巴2017年股票的描述统计信息。

使用我们自定义的函数change()函数,获得阿里巴巴近一年的股票涨幅为94.62%。阿里巴巴股票2017年涨幅

###重复使用2.2获取数据及2.3清洗数据的步骤,获取剩余五家企业的股票数据信息

**获取谷歌股票数据获取谷歌股票数据

计算谷歌2017年股票涨跌幅:计算涨跌幅

**获取亚马逊股票数据获取亚马逊股票数据

计算亚马逊2017年股票涨跌幅:计算涨跌幅

**获取Facebook股票数据获取Facebook股票数据

计算Facebook2017年股票涨跌幅:计算涨跌幅

**获取苹果股票数据获取苹果股票数据

计算苹果2017年股票涨跌幅:计算涨跌幅

**获取苹果股票数据获取腾讯股票数据

计算腾讯2017年股票涨跌幅:计算涨跌幅

2.4、数据可视化

为了直观了解这六家股票数据在2017年的变化走势情况,我们需要将这六家公司2017年的股票数据进行可视化。

2.4.1、观察六家股票数据对比的单位

只有各方的各项数据单位一致才具有对比的意义,因为腾讯为港股,股价单位为港元,因此需要对腾讯的股价根据汇率进行换算。保证六家股票股价单位的一致性。单位进行转换保持一致

2.4.2、导入matplotlib.pyplot函数导入可视化包matplotlib.pyplot

2.4.3、绘制一家公司股价可视化图形

使用pandas自带绘图功能绘制可视化图形,直接在数据框后加上plot()函数即可,数据顺序依次为x轴数据,y轴数据,图形其他参数如颜色、线性等。

并通过matplotlib为图形添加x周、y轴和图像标题title文本。参数grid()为图像网格,参数legend()为图像的图列位置(loc="best"表示根据图形自动寻找最合适的位置放置图例)。阿里巴巴2017年股票走势折线图

从图形中可以直观看出阿里巴巴的股票价格整体是上升的,是一家值得投资的公司。现在我们需要看看成交量与股价之间的关系。

同样使用pandas自带的绘图功能,直接在数据框后使用.plot()函数即可绘制我们所需要的图形,此处我们根据所需要了解的问题,我们试用散点图展示两者之间的关系。传入的参数顺序依次为x轴数据,y轴数据,kind表示图形的类型,这里kind="scatter",表示的是显示数据为散点图。成交量与成交价之间关系的散点图

通过图形我们可以看出,大部分的点都集中在图形左侧,且随着成交量的上升股价是上涨的趋势,整体来看成交量与股价成正相关关系。

我们使用corr()函数取出各列数据之间的相关性系数验证我们根据图形得出的结论,我们可以看出成交量与股价的相关性系数为0.416。

各列数据之间的相关性系数

kind的取值类型:kind取值类型

2.4.4、六家公司股价走势对比图

将6家企业的股价走势图合并在一张图上进行直观的对比。

我们首先将阿里巴巴这家企业的股票走势图绘制到画纸1(系统默认创建)上,并命名为ax1,其他五家股票的股价也绘制到画纸1(ax1)上,通过参数ax=ax1指定图形绘制的位置将五家公司股价的走势图绘制到画纸1(ax1)上。六家企业股票股价走势对比图

在上图中,我们发现图像中的图例是列名,而我们需要的是每条颜色的先代表的是哪家企业,因此我们上述代码中加入参数label,给label赋值我们需要的值即可。更改图例后的股票走势图

根据图形我们看出谷歌和亚马逊的股价比较高在图形的上方,其他四家企业的股价比较低,在图形的下方,两方股价差距太大,导致我们无法直观看出各家股票走势对比情况,因此我们根据股价高地将两方拆成两组数据进行对比。

我们将谷歌和亚马逊绘制到画纸2上,我们可以看出两家企业的股价在2017年的走势都是上涨的:谷歌亚马逊的股价走势

我们将其余四家企业的股票绘制到画纸3上,我们可以看出四家企业的股价在2017年的走势也都是上涨的:其他四家奇特的股价走势图

2.4.5、查看六家股票的描述统计指标

1、比较六家公司股票的平均股价

首先我们将六家公司的股票平均值放在一个列表中,其次我们用这个列表创建一个pandas的一位数组Series,并为一维数组指定索引值为六家公司的名称,最后我们使用pandas自带的绘图功能.plot()绘制图形,传输参数kind="bar"绘制柱状图。通过柱状图可以直观看出谷歌和亚马逊的股价远高于其他四家企业的股价,印证了上前面对比走势图两方差异较大的现象。六家企业股票2017年平均股价对比图

2、箱线图

平均值存在的缺陷是对异常值的低敏感性,因此我们使用四分位数查看六家企业股票的股价变化情况。

首先我们试用函数concat()方法将六家企业股票的收盘价按列合并在一个数据集中,其次我们为六列数据进行重命名,并通过head()函数查看最新的数据集是否符合我们数据处理的要求。抽取数据合并为一个数据集

最后我们使用pandas自带的绘图功能.plot()绘制图形,传入参数kind="box"表示绘制的是箱线图。六家公司股票的箱线图

四、小结

使用pandas自带绘图功能可以快速绘制图形,非常方便我们进行数据可视化处理工作。但实际操作过程中还是会需要结合matplotlib包或seaborn包进行绘图,多个工具相互配合,才能最终绘制得到我们想要的数据可视化图形。

数据可视化只是数据分析工作的一部分,我们工作仍要按提出问题,获取数据,数据清洗,特征工程获取数据之间的关系,数据可视化,数据分析报告(以前的表现,现在的问题以及未来的解决方案或建议)。

平均股价的时间序列图形_数据可视化——pandas绘制股票走势图相关推荐

  1. python 画股票走势图_使用Python matplotlib绘制股票走势图

    一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使用心得进行 ...

  2. 平均股价的时间序列图形_如何用公式表达股票平均价格

    1.怎么计算股票的全年平均价格 计算股票指数时,往往把股票指数和股价平均数分开计算. 按定义,股票指数即股价平均数.但从两者对股市的实际作用而言,股价平均数是反映多种股票价格变动的一般水平,通常以算术 ...

  3. 用python绘制股票图_【转】使用Python matplotlib绘制股票走势图

    一.前言 matplotlib[1]是著名的python绘图库,它提供了一整套绘图API,十分适合交互式绘图.本人在工作过程中涉及到股票数据的处理如绘制K线等,因此将matplotlib的使用心得进行 ...

  4. 平均股价的时间序列图形_美股技术分析 神奇的九转序列

    摘要:  最近在周末复盘时 在日k图上看到一个技术指标九转序列,  所以今天就简单总结一下, 可以帮助自己做一些短期操作的判断.九转序列 分低九买入结构和高九卖出结构.目前对美股.港股的, 可以感兴趣 ...

  5. python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...

    在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...

  6. python绘制漂亮的线_使用PyQtGraph进行Python数据可视化:绘制精美线图(以上证指数走势为例)...

    在上两篇文章中,我们介绍了: 本篇文章将介绍使用PyQtGraph绘制一个精美折线图, 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGr ...

  7. python 桑基图_数据可视化之 Sankey 桑基图的实现

    什么是桑基图 Google 搜索桑基图,可以搜到一大堆定义.简而言之,桑基图是一种数据流图,展示了数据是如何从左到右流向最后的节点,每条边代表一条数据流,宽度代表数据流的大小.桑基图常用于流量分析,可 ...

  8. 多维度雷达图怎么做_数据可视化:柱状图、雷达图等六种基本图表的特点和适用场合...

    序言 进入正题之前,先纠正一种误解. 有人觉得,基本图表太简单.太原始,不高端,不大气,因此追求更复杂的图表.但是,越简单的图表,越容易理解,而快速易懂地理解数据,不正是"数据可视化&quo ...

  9. 平均股价的时间序列图形_「」股票价格断层-如何计算平均股价-TOP金融网

    如何计算平均股价 简单算术股价平均数是将样本股票每日收盘价之和除以样本数得出的,即: 简单算术股价平均数=(P1+P2+P3+-+ Pn)/n 世界上第一个股票价格平均──道·琼斯股价平均数在1928 ...

最新文章

  1. CSL-YOLO | 超越Tiny-YOLO V4,全新设计轻量化YOLO模型实现边缘实时检测!!!
  2. python安装教程3.8.5-[分享栈]centos7安装python3.8.5
  3. Auty 2017——WebMonitor接口本地检测平台
  4. springboot 的启动流程
  5. python爬虫百度文库_百度文库爬虫,Python爬取百度文库内容输出word文档low版
  6. CPU负载均衡之EAS
  7. 为什么不能线程调用类的成员函数_SLAM从0到1——13.SLAM中的多线程编程(2)
  8. 计算机组成原理 笔记 第二版 唐朔飞
  9. 155页4万字智慧交通电子警察系统平台解决方案
  10. MySQL备份报错mysqldump: Got error: 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  11. VMX(1) -- 简介
  12. fail2ban linux装机必备--防破解
  13. 计算机科学中透明性概念,函数式编程 - 什么是参考透明度?
  14. 编译原理(7):运行存储分配
  15. 水果店收银系统解决方案
  16. 【推荐】javaweb JAVA JSP家政服务管理系统服务网站jsp服务信息管理jsp保姆月嫂招聘系统案例设计与实现源码
  17. Elasticsearch:如何为 CCR 及 CCS 建立带有安全的集群之间的互信
  18. Grating Period and Grating Constant(光栅周期与光栅常数)
  19. geoserver加载mysql_postgressql+geoserver实现路径分析
  20. Matlab 批量CT图像进行肺实质分割

热门文章

  1. yarn install出现异常 error An unexpected error occurred: “EIO: i/o error
  2. 挥别2019,喜迎2020
  3. 属性子集选择的基本启发方法_【数据挖掘笔记三】数据预处理
  4. 用opencv检测convexity defects
  5. linux 追加多行文件,linux每行追加内容
  6. 聊天类 APP 功能测试总结
  7. 2022-2027年中国仓储物流机器人行业发展前景及投资战略咨询报告
  8. 科技论文中字母正斜体及大小写的规范写法
  9. PCB板材及叠层结构(转)
  10. 如何玩好微信十亿流量?微趋道教你小程序推广最全攻略!