Python数据科学(九)- 使用Pandas绘制统计图表1.信息可视化

1.信息可视化

因为人对图像信息的解析效率比文字更高,所以可视化可以使数据更为直观,便于理解,使决策变得高效,所以信息可视化就显得尤为重要。

1.尝试做一个折线图

df.plot()方法的函数说明

  • DataFrame还可以用于对列进行灵活处理的选项
  • 用折线图对比各个指数的实时的开盘点位,并设置图像大小
df['open'].plot(kind='line', figsize=[5,5], legend=True, title='code')
# 如果需要加入折线,设置参数grid=True即可
df['open'].plot(kind='line', figsize=[10,5], legend=True, title='code', grid=True)

2.绘制移动平均线

  • 获取上证指数5.21日分笔历史数据
import tushare as ts
df = ts.get_tick_data('000001', date='2018-05-21')

返回值说明:

  • time:时间
  • price:成交价格
  • change:价格变动
  • volume:成交手
  • amount:成交金额(元)
  • type:买卖类型【买盘、卖盘、中性盘】
  • 绘制当日前20条数据成交金额变动折线图
df = df.head(200)
df['amount'].plot(kind='line', figsize=[15,3], legend=True, title='code', grid=True)
  • 绘制移动平均线 移动平均线,Moving Average,简称MA,MA是用统计分析的方法,将一定时期内的证券价格(指数)加以平均,并把不同时间的平均值连接起来,形成一根MA,用以观察证券价格变动趋势的一种技术指标。
DataFrame.rolling(*window*,*min_periods = None*,*center = False*,
                    *win_type = None*,*on = None*,*axis = 0*,*closed = None *)[[source]]

参数说明:

  • window:int或偏移量移动窗口的大小,这仅适用于日期时间类型的索引。
  • min_periods:int,默认无窗口中需要有最小数量的观测数据(否则结果为NA)。对于由偏移量指定的窗口,这将默认为1。
  • center:布尔值,默认为False将标签设置在窗口的中心。
  • win_type:字符串,默认无提供一个窗口类型。如果None,所有点均匀加权。
  • on:字符串,可选用于计算滚动窗口的DataFrame列,而不是索引
  • closed:字符串,默认无在'右','左','双'或'既非'端点上关闭间隔。
  • axis: 轴,int或字符串,默认为0
df['mvg2']=df['amount'].rolling(window=2).mean()
df[['amount', 'mvg2']].plot(kind='line',figsize=[10,5])

3.绘制直方图

  • 我们找出5.21号14:55 - 14:57 这两分钟内的上证指数数据,观察它的成交金额变化
df.ix[(df.time>='14:55:00')&(df.time<='14:57:00'),'amount'].plot(kind='bar', figsize=[10,5],  legend=True, title='amount')

4.绘制圆饼图

import tushare

# 获取大盘指数实时行情列表
df = ts.get_index()
df['diff'] = df['close'] - df['open']
df['rise'] = df['diff'] > 0  # 涨
df['fall'] = df['diff'] < 0  # 跌
# counterclock 布尔值,可选参数,默认为:None。指定指针方向,顺时针或者逆时针
# startangle浮点类型,可选参数,默认:None。如果不是None,从x轴逆时针旋转饼图的开始角度。
df[['rise', 'fall']].sum().plot(kind='pie', figsize=[5,5], counterclock=True, 
                                  startangle=90, legend=True, title='diff')

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WOLFRAM

Mathematica 11在代数与数论中的新功能

1815
来自专栏程序员宝库

码农也要学算法

当“人工智能”、“AlphaGo”、“无人驾驶”、“智能投顾”等词语不断在人们视野中出现的时候,意味着我们正步入一个算法的时代。计算机通过提供给人类每天要面临的...

47410
来自专栏编程心路

算法妙应用-算法的复杂度

对于任何一个程序来说,都可以从三个方面进行分析,分别是 输入、处理、输出,也即 IPO(Input、Process、Output),这种分析方法对硬件和软件程序...

1093
来自专栏C/C++基础

网易游戏技术岗在线编程题(一)

小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2...

811
来自专栏YoungGy

【优化2】整数优化

概述 IP类型 建立IP 逻辑型 或的逻辑约束 三个选择的或 只有才 更多或 整数可除 多边形组合 固定花费 分段线性 组合型 set covering set...

3065
来自专栏机器学习算法与Python学习

Encoder-Decoder自动生成对联,要试试么?

另外,点击阅读原文尝试微软的自动对联系统(http://duilian.msra.cn/app/couplet.aspx)

1230
来自专栏数据科学与人工智能

【陆勤践行】最流行的4个机器学习数据集

机器学习算法需要作用于数据,而数据的本质则决定了应用的机器学习算法是否合适,而数据的质量也会决定算法表现的好坏程度。所以会研究数据,会分析数据很重要。本文作为学...

21910
来自专栏数据派THU

手把手教你由TensorFlow上手PyTorch(附代码)

来源:机器之心 作者:Illarion Khlestov 本文为你解读PyTorch 的易用性。 当我第一次尝试学习 PyTorch 时,没几天就放弃了。和 ...

9244
来自专栏数值分析与有限元编程

Newton–Raphson法解串联弹簧问题

如图所示的串联弹簧,F=100,弹簧刚度为k1 = 50 + 500u ,k2 = 100+ 200u ,u是弹簧伸长量,则平衡方程为 ? ? k1,k2带入得...

2816
来自专栏落影的专栏

程序员进阶之算法练习(二十四)

前言 已经有三个月未更新算法文章,大厂工作环境是步步紧逼的,使得所有的人越来越忙碌。余下的学习时间,要用于技术预研、知识面开阔、底层原理理解等等,慢慢算法只能占...

4137

扫码关注云+社区

领取腾讯云代金券