激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化

利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化

2020-05-25 09:51Plotly Python

這篇文章主要介紹了利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化,其中包括Python與MySQL的連接搭建、用Python執(zhí)行MySQL語句查詢等內(nèi)容,需要的朋友可以參考下

本教程的所有Python代碼可以在網(wǎng)上的IPython notebook中獲取。

考慮在公司里使用Plotly?可以看一下Plotly的on-premises企業(yè)版。(注:On-premises是指軟件運行在工作場所或公司內(nèi)部,詳見維基百科

注意操作系統(tǒng):盡管Windows或Mac用戶也可以跟隨本文操作,但本文假定你使用的是Ubuntu系統(tǒng)(Ubuntu桌面版或Ubuntu服務器版)。如果你沒有Ubuntu Server,你可以通過Amazon的Web服務建立一個云平臺(閱讀這份教程的前半部分)。如果你用的是Mac,我們推薦你購買并下載VMware Fusion,在上面安裝Ubuntu桌面版。你也可以通過Zareason購買一臺便宜的預裝Ubuntu桌面版/服務器版的筆記本或服務器。

使用Python讀取MySQL的數(shù)據(jù)并繪圖很簡單,所有你需要的工具都可以免費下載。本文會展示怎么做。如果你遇到問題或者卡住了,可以給[email protected]發(fā)送郵件,也可以在本文下面評論,或者在tweeter上@plotlygraphs。
第1步:確保MySQL已安裝且在運行

首先,你需要有一臺安裝了MySQL的計算機或服務器。你可以通過以下方法檢查MySQL是否安裝:打開控制臺,輸入“mysql”,如果你收到MySQL無法連接的錯誤,這意味著MySQL安裝了,但是沒有運行。在命令行或“Terminal”中,嘗試輸入sudo /etc/init.d/mysql start并按回車來啟動MySQL。

如果MySQL沒有安裝,不要失望。在Ubuntu中下載并安裝只需一行命令:

?
1
shell> sudo apt-get install mysql-server --fix-missing

安裝過程中會讓你輸入一個密碼。安裝結束后,你可以在終端中鍵入以下命令進入MySQL控制臺:
 

?
1
shell> sudo mysql -uroot -p

輸入“exit”就可以退出MySQL控制臺,。

本教程使用MySQL經(jīng)典的“world”樣例數(shù)據(jù)庫。如果你想跟隨我們的步驟,可以在MySQL文檔中心下載world數(shù)據(jù)庫。你也可以在命令行中使用wget下載:
 

?
1
shell> wget http://downloads.mysql.com/docs/world.sql.zip

然后解壓文件:
 

?
1
shell> unzip world.sql.zip

(如果unzip沒有安裝,輸入sudo apt-get install unzip安裝)

現(xiàn)在需要把world數(shù)據(jù)庫導入到MySQL,啟動MySQL控制臺:
 

?
1
shell> sudo mysql -uroot -p

進入控制臺后,通過以下MySQL命令使用world.sql文件創(chuàng)建world數(shù)據(jù)庫:
 

?
1
2
3
mysql> CREATE DATABASE world;
mysql> USE world;
mysql> SOURCE /home/ubuntu/world.sql;

(在上面的SOURCE命令中,確保將路徑改為你自己world.sql所在目錄)。
上述操作說明摘自MySQL文檔中心。
第2步:使用Python連接MySQL

使用Python連接MySQL很簡單。關鍵得安裝python的MySQLdb包。首先需要安裝兩項依賴:
 

?
1
2
shell> sudo apt-get install python-dev
shell> sudo apt-get install libmysqlclient-dev

然后安裝Python的MySQLdb包:
 

?
1
shell> sudo pip install MySQL-python

現(xiàn)在,啟動Python并導入MySQLdb。你可以在命令行或者IPython notebook中執(zhí)行:
 

?
1
2
shell> python
>>> import MySQLdb

創(chuàng)建MySQL中world數(shù)據(jù)庫的連接:
 

?
1
>>> conn = MySQLdb.connect(host="localhost", user="root", passwd="XXXX", db="world")

cursor是用來創(chuàng)建MySQL請求的對象。
 

?
1
>>> cursor = conn.cursor()

我們將在Country表中執(zhí)行查詢。
第3步:Python中執(zhí)行MySQL查詢

cursor對象使用MySQL查詢字符串執(zhí)行查詢,返回一個包含多個元組的元組——每行對應一個元組。如果你剛接觸MySQL語法和命令,在線的MySQL參考手冊是一個很不錯的學習資源。
 

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

rows,也就是查詢的結果,是一個包含多個元組的元組,像下面這樣:

利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化

使用Pandas的DataFrame來處理每一行要比使用一個包含元組的元組方便。下面的Python代碼片段將所有行轉(zhuǎn)化為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
第4步:使用Plotly繪制MySQL數(shù)據(jù)

現(xiàn)在,MySQL的數(shù)據(jù)存放在Pandas的DataFrame中,可以輕松地繪圖。下面的代碼用來繪制國家GNP(國民生產(chǎn)總值)VS平均壽命的圖,鼠標懸停的點會顯示國家名稱。確保你已經(jīng)下載了Plotly的Python庫。如果沒有,你可以參考一下它的入門指南
 

?
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嵌入的結果圖:

利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化

利用Plotly的Python用戶指南中的氣泡圖教程,我們可以用相同的MySQL數(shù)據(jù)繪制一幅氣泡圖,氣泡大小表示人口的多少,氣泡的顏色代表不同的大洲,鼠標懸停會顯示國家名稱。下面顯示的是作為一個iframe嵌入的氣泡圖。

利用Python繪制MySQL數(shù)據(jù)圖實現(xiàn)數(shù)據(jù)可視化

創(chuàng)建這個圖表以及這個博客中的所有python代碼都可以從這個IPython notebook中拷貝。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久国产精品网站 | 免费看毛片网站 | 九九色精品 | 成人在线观看免费爱爱 | 麻豆传传媒久久久爱 | 亚洲综合一区二区三区 | 国产羞羞视频免费在线观看 | 欧美日韩一| 国产精品久久久久久久久久尿 | 一级毛片免费一级 | 亚洲精品无码不卡在线播放he | 久久国产精品区 | 九九热在线视频观看这里只有精品 | av在线免费看网址 | 青青草免费观看 | 精品一区二区久久久久 | 把娇妻调教成暴露狂 | 视频二区国产 | 久久午夜免费视频 | 天天碰夜夜操 | 91久久线看在观草草青青 | 久国产精品视频 | 久久九九热re6这里有精品 | 成人男女视频 | 美女黄网站免费观看 | 久久毛片 | 日日噜噜夜夜爽 | 欧洲精品久久 | 久久精品视频69 | 免费观看一区二区三区 | av不卡毛片 | 草久在线 | 久久午夜国产 | 午夜精品在线视频 | 亚洲综合视频网 | 久久精精品 | 免费看污视频在线观看 | 男女污视频在线观看 | 国产成人精品免费视频大全最热 | 蜜桃传免费看片www 日本一区二区三区视频在线 | 国产99久久|