Python数据科学(八)- 资料探索与资料视觉化

浏览: 2394

传送门:

Python数据科学(一)- python与数据科学应用(Ⅰ)

Python数据科学(二)- python与数据科学应用(Ⅱ)

Python数据科学(三)- python与数据科学应用(Ⅲ)

Python数据科学(四)- 数据收集系列

Python数据科学(五)- 数据处理和数据采集

Python数据科学(六)- 资料清理(Ⅰ)

Python数据科学(七)- 资料清理(Ⅱ)

Python数据科学(八)- 资料探索与资料视觉化

Python数据科学(九)- 使用Pandas绘制统计图表

1.叙述性统计与推论性统计

  • 叙述性统计
    有系统的归纳数据,了解数据的轮廓
    对数据样本做叙述性陈述,例如:平均数、标准偏差、计次频率、百分比
    对数据资料的图像化处理,将数据摘要变为图标表
  • 推论性统计
    资料模型的建构
    从样本推论整体资料的概况
    相关、回归、单因子变异数、因素分析

1.叙述性统计

1.我们一般有三种方式进行叙述性统计

  • 对大多数资料进行分析,80%都是在于如何加总与平均
    eg:
    • 销售份额
    • 客户数量
    • 业绩成长量
  • 使用SQL做叙述性统计(通过加入限制条件得到我们需要的数据)
select * from tb1 where col1 >= 100 limit 3

2.如何操作数据

  • 操作数据我们常常需要
    • 分割数据(Split)
    • 转换数据(Transformation)
    • 聚合数据(Aggregation)
    • 探索数据(Exploration)
  • 需要如同SQL的语法去操作数据
    首先我们需要安装pandas_datareaderpip install pandas_datareader,pandas_datareader是一个远程获取金融数据的Python工具,它提供了下面几个机构的数据。
import pandas_datareader

pandas_datareader.DataReader(name, data_source=None, start=None, end=None, retry_count=3,
pause=0.001, session=None, access_key=None)
  • name:股票名称
  • data_source:数据来源,可以是雅虎,谷歌等等
  • start:开始日期
  • end:截止日期
  • retry_count: 如果断开连接重新连接几次
  • pause:抓取数据的中间是否需要停顿
  • session:是否需要加入session
  • access_key:如果接口需要提供access_key,则此项需要填

2.进行读取相关数据

丘老师是使用pandas_datareader.DataReader来读取的雅虎提供的阿里巴巴股票数据,现在雅虎已经被弃用。这里我使用Tushare来读取金融数据。
Tushare是一个免费、开源的python财经数据接口包。

import tushare

# 获取大盘指数实时行情列表
df = ts.get_index()

# 查看后五行
df.tail()

备注:返回值说明

  • code:指数代码
  • name:指数名称
  • change:涨跌幅
  • open:开盘点位
  • preclose:昨日收盘点位
  • close:收盘点位
  • high:最高点位
  • low:最低点位
  • volume:成交量(手)
  • amount:成交金额(亿元)
# 查看列
df.columns

1.做一些简易的统计

  • 针对单列进行统计
    • 算出总和:df['volume'].sum()
    • 算出平均:df['volume'].mean()
    • 算出标准差:df['volume'].std()
    • 取得最小值:df['volume'].min()
    • 取得最大值:df['volume'].max()
    • 取得笔数:df['volume'].count()
  • 针对多列进行统计
# 取得最低开盘点位,最低收盘点位
df[['open', 'close']].min()

2.取得整体叙述性统计

df.describe()

均值,标准差,最大值,最小值等等

3.计算当日大盘指数当日涨跌次数

  • 计算当日涨跌
df['diff'] = df['close'] - df['open']
df['rise'] = df['diff'] > 0 # 涨
df['fall'] = df['diff'] < 0 # 跌

可以看到多了差额、涨、跌三列

  • 计算涨跌次数
df[['rise', 'fall']].sum()

推荐 1
本文由 一只写程序的猿 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册