专栏首页机器学习AI算法工程利用Python绘制MySQL数据图实现数据可视化

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

第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数据库。

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

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

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

?

>>> 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/

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

本文分享自微信公众号 - 大数据挖掘DT数据分析(datadw)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-12

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用深度学习进行语言翻译:神经网络和seq2seq为何效果非凡?

    我们都知道而且喜欢谷歌翻译(Google Translate),这个网站可以几乎实时地在 100 多种不同的人类语言之间互相翻译,就好像是一种魔法。 谷歌翻译...

    机器学习AI算法工程
  • MySQL GUI Tools 安装与使用

    MySQL安装好了后,打开数据库是这样的: ? MySQL GUI Tools是一套图形化桌面应用工具套装,可以用来管理MySQL服务器。该套装工具包含三个工具...

    机器学习AI算法工程
  • 用Python开始机器学习:推荐算法之推荐矩阵

    每个人都会有这样的经历:当你在电商网站购物时,你会看到天猫给你弹出的“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到弹出的“你可...

    机器学习AI算法工程
  • 13张图看6年来数据科学概念之争

    大数据文摘
  • 结构体的大小与内存对其

    最近在群里看到了有人问起结构体的大小问题,好多人的都不太明白。因此写篇文章总结一下。顺便再提一下结构体本身。

    zy010101
  • 手把手教你在Windows 10安装MySQL 8.0(详细图文)

    Windows环境安装Oracle最为简单,是初学者学习MySQL快速入门和实践练习的最佳方法。 以下是详细的安装步骤:

    TeacherWhat
  • IntelliJ IDEA 中详细图解记录如何连接MySQL数据库

    在网上down了个web项目,在 IntelliJ IDEA 这个编辑器里面跑起来,但是发现domain文件夹下的xml文件都报如下的红色提示错误:

    格姗知识圈
  • uva------(11464)Even Parity

    D Even Parity Input: Standard Input Output: Standard Output We...

    Gxjun
  • 【了解】Spark和Hadoop是友,非敌

    Spark 在 6 月份取得了激动人心的成绩。在圣何塞举办的 Hadoop 峰会上,Spark 成了人们经常提及的话题和许多演讲的主题。IBM 还在 6 月 1...

    小莹莹
  • LeetCode 853. 车队(排序)

    每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。

    Michael阿明

扫码关注云+社区

领取腾讯云代金券