利用python的數據分析pandas,numpy,matplotlib模塊進行可視化分析,畫出圖表,這幾個模塊須要獨立安裝,安裝好後須要用ipython --pylab方式打開。而且要引用MySQLdb模塊,爲了省事,我把數據統計這一塊直接在mysql數據庫中執行了,自己需求就不復雜,何況對pandas,matplotlib這幾個工具也剛接觸不久,持續深刻研究中,能簡則簡了。python
具體步驟以下,切記打開方式用 ipython --pylab
mysql
In [1]: from pandas import DataFrame,Series
sql
In [2]: import pandas as pd
In [3]: import numpy as np
數據庫
In [4]: import MySQLdb
#引入python數據分析模塊工具
In [5]: mysql_cn= MySQLdb.connect(host='localhost', port=3306,user='root', passwd='root', db='testdb',charset='utf8')
索引
df = pd.read_sql('select count(1) as city_count_num,city from memory group by city order by city_count_num desc limit 10',mysql_cn)ip
#鏈接數據庫,轉換成pandas格式的數據
In [7]: df.index=['suzhou','shanghai','shenzhen','weizhi','qingdao','fuzhou','foshan','changchun','kunming','beijing']
#重建索引,這一步原本不須要的,原本打算是用名字作索引,利用value_counts轉換能夠直接畫圖,可死活是亂碼,無可奈何,畫蛇添足了。你們主要就看「氣質」吧。ci
In [8]: df.plot(kind='barh',rot=0)
Out[8]: <matplotlib.axes._subplots.AxesSubplot at 0x7f8fb5148390>數據分析
#畫圖完成pandas
In [9]: df #重建索引,轉換後的文件格式以下Out[9]: num citysuzhou 520 蘇州市shanghai 374 上海市shenzhen 118 深圳市weizhi 104 未知 #國外的ip,在數據庫中是空的,我設置爲「未知」了qingdao 82 青島市fuzhou 81 福州市foshan 81 佛山市changchun 78 長春市kunming 76 昆明市beijing 76 北京市