前言
在日常工作和生活中,我们经常会有对海量数据进行分析的需求,希望能够分析这些数据并且使用图表进行展示。
本文主要讲利用Python进行数据分析,对金融数据可视化处理。
知识点:matplotlib
tushare
库介绍
Matplotlib
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
tushare
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
画GDP的柱状图将数据保存到list数据结构中 数据来源: 国家统计局网站
In:
list_year = []
for x in range(2006,2018):
list_year.append(x)
list_year
Out:
[2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017]
GDP列表数据
list_gdp = [219438.50, 270232.30, 319515.50,
349081.40, 413030.30, 489300.60, 540367.40,
595244.40, 643974.00, 689052.10,
744127.20, 827122.00]使用matplotlib画图
import matplotlib.pyplot as plt
# 画柱状图
plt.bar(list_year, list_gdp)
# 标识标题及坐标轴信息
plt.title('gdp amount from 2006 to 2017')
plt.xlabel('year')
plt.ylabel('gdp amount')
plt.show()
画上证指数折线图
import tushare as ts
import matplotlib.pyplot as plt
import datetime
# 使用tushare模块的get_hist_data()方法获取上证指数从2017年10月到2017年12月的历史行情数据:
date = ts.get_hist_data('sh',start='2017-10-01',end='2017-12-01').sort_index()
date.head()
date.index
# date['close']
# datetime数据格式的转换 list_tradedate = date.index.tolist() # list_tradeday list_tradedate1 = [] for date in list_tradedate: dt_tradedate = datetime.datetime.strptime( str(date), '%Y-%m-%d') list_tradedate1.append(dt_tradedate)
list_closeprice = date['close'].tolist() # list_closeprice
# 先确认画框大小,再作图 plt.figure(figsize=(12,8)) # 画折线图 plt.plot(list_tradedate1, list_closeprice) plt.title('Shanghai stock exchange index') plt.xlabel('trade date') plt.ylabel('close price') plt.show()
画中国2017年GDP的构成饼图
# 数据来源:新闻报道 gdp_2017 = { 'primary industry' : 65468, 'secondary industry' : 334623, 'tertiary industry' : 427032 }
# 分别取出 gdp类别列表 和 gdp值列表 labels = gdp_2017.keys() values = gdp_2017.values()
# plt.figure(figsize-(6,6)) # 画饼图 # startangle表示饼图的起始角度 plt.pie(values, labels=labels, autopct='%.1f%%', startangle=90 ) # 设置样式 plt.axis('equal') # 显示图例 plt.legend() plt.show()
总结
以上通过一些简单的示例,利用tushare获取一些数据,使用matplotlib对数据分析可视化处理。
后面继续深入利用Python进行数据分析。
本文讲解了分析网页,解析网页,字符串编码转换,读取数据,数据统计,绘制柱状图。