专栏名称: 大数据挖掘DT数据分析
实战数据资源提供。数据实力派社区,手把手带你玩各种数据分析,涵盖数据分析工具使用,数据挖掘算法原理与案例,机器学习,R语言,Python编程,爬虫。如需发布广告请联系: hai299014
目录
相关文章推荐
数据派THU  ·  Meta-CoT:通过元链式思考增强大型语言 ... ·  3 天前  
天池大数据科研平台  ·  反超DeepSeek!新版GPT-4o登顶竞 ... ·  19 小时前  
软件定义世界(SDX)  ·  清华大学:普通人如何抓住DeepSeek红利 ·  4 天前  
51好读  ›  专栏  ›  大数据挖掘DT数据分析

利用Python绘制MySQL数据图实现数据可视化

大数据挖掘DT数据分析  · 公众号  · 大数据  · 2017-04-12 22:36

正文



数据挖掘入门与实战  公众号: datadw




第1步:确保MySQL已安装且在运行


安装教程:

亲测:MySQL安装与python下的MySQLdb使用(附软件与模块包)


第2步:使用Python连接MySQL

连接教程:

mysqldb库安装与python交互操作


第3步:Python中执行MySQL查询

cursor对象使用MySQL查询字符串执行查询,返回一个包含多个元组的元组——每行对应一个元组。如果你刚接触MySQL语法和命令,在线的 MySQL参考手册

https://dev.mysql.com/doc/refman/5.7/en/select.html

是一个很不错的学习资源。


本教程使用MySQL经典的“world”样例数据库。如果你想跟随我们的步骤,可以在 MySQL文档中心

https://dev.mysql.com/doc/world-setup/en/下载world数据库。


1
2
>>> cursor.execute( 'select Name, Continent, Population, LifeExpectancy, GNP from Country' );
>>> rows = cursor.fetchall()

rows,也就是查询的结果,是一个包含多个元组的元组,像下面这样:

使用Pandas的DataFrame来处理每一行要比使用一个包含元组的元组方便。下面的Python代码片段将所有行转化为DataFrame实例:

?

1
2
3
4
>>> import pandas as pd
>>> df = pd.DataFrame( [[ij for ij in i] for i in rows] )
>>> df.rename(columns = { 0 : 'Name' , 1 : 'Continent' , 2 : 'Population' , 3 : 'LifeExpectancy' , 4 : 'GNP' }, inplace = True );
>>> df = df.sort([ 'LifeExpectancy' ], ascending = [ 1 ]);

完整的代码可以参见 IPython notebook

http://nbviewer.jupyter.org/gist/jackparmer/5485807511a58be48bf2


第4步:使用Plotly绘制MySQL数据

现在,MySQL的数据存放在Pandas的DataFrame中,可以轻松地绘图。下面的代码用来绘制国家GNP(国民生产总值)VS平均寿命的图,鼠标悬停的点会显示国家名称。确保你已经下载了python的Plotly库。如果没有,你可以参考一下它的 入门指南 。https://plot.ly/python/bubble-charts-tutorial/


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import plotly.plotly as py
from plotly.graph_objs import *
trace1 = Scatter(
x = df[ 'LifeExpectancy' ],
y = df[ 'GNP' ],
text = country_names,
mode = 'markers'
)
layout = Layout(
xaxis = XAxis( title = 'Life Expectancy' ),
yaxis = YAxis( type = 'log' , title = 'GNP' )
)
data = Data([trace1])
fig = Figure(data = data, layout = layout)
py.iplot(fig, filename = 'world GNP vs life expectancy' )

完整的代码在这份 IPython notebook 中。下面是作为一个 iframe 嵌入的结果图:

利用Plotly的 Python用户指南 中的气泡图教程,我们可以用相同的MySQL数据绘制一幅气泡图,气泡大小表示人口的多少,气泡的颜色代表不同的大洲,鼠标悬停会显示国家名称。下面显示的是作为一个 iframe 嵌入的气泡图。


创建这个图表以及这个博客中的所有python代码都可以从这个 IPython notebook 中拷贝。http://nbviewer.jupyter.org/gist/jackparmer/5485807511a58be48bf2



数据挖掘入门与实战

搜索添加微信公众号:datadw


教你机器学习,教你数据挖掘







请到「今天看啥」查看全文