從數據處理到人工智能
數據表示->數據清洗->數據統計->數據可視化->數據挖掘->人工智能
- 數據表示:採用合適方式用程序表達數據
- 數據清理:數據歸一化、數據轉換、異常值處理
- 數據統計:數據的概要理解,數量、分佈、中位數等
- 數據可視化:直觀展示數據內涵的方式
- 數據挖掘:從數據分析獲得知識,產生數據外的價值
- 人工智能:數據/語言/圖像/視覺等方面深度分析與決策
(一)Python庫之數據分析
Numpy
表達N維數組的最基礎庫
網址:http://www.numpy.org/
- Python接口使用,C語言實現,計算速度優異
- Python數據分析及科學計算的基礎庫,支撐Pandas等
- 提供直接的矩陣運算、廣播函數、線性代數等功能
Pandas
Python數據分析高層次應用庫
網址:https://pandas.pydata.org/
- 提供了簡單易用的數據結構和數據分析工具
- 理解數據類型與索引的關係,操作索引即操作數據
- Python最主要的數據分析功能庫,基於Numpy開發
SciPy
數學、科學和工程計算功能庫
網址:https://www.scipy.org/
- 提供了一批數學算法及工程數據運算功能
- 類似Matlab,可用於如傅里葉變換、信號處理等應用
- Python最主要的科學計算功能庫,基於Numpy開發
(二)Python庫之數據可視化
Matplotlib
高質量的二維數據可視化功能庫
網址:https://matplotlib.org/
- 提供了超過100種數據可視化展示效果
- 通過matplotlib.pyplot子庫調用各可視化效果
- Python最主要的數據可視化功能庫,基於Numpy開發
Seaborn
統計類數據可視化功能庫
網址:http://seaborn.pydata.org/
- 提供了一批高層次的統計類數據可視化展示效果
- 主要展示數據間分佈、分類和線性關係等內容
- 基於Matplotlib開發,支持Numpy和Pandas
Mayavi
三維科學數據可視化功能庫
網址:http://docs.enthought.com/mayavi/mayavi/
- 提供了一批簡單易用的3D科學計算數據可視化展示效果
- 目前版本是Mayavi2,三維可視化最主要的第三方庫
- 支持Numpy、TVTK、Traits、Envisage等第三方庫
(三)Python庫之文本處理
PyPDF2
用來處理pdf文件的工具集
- 提供了一批處理PDF文件的計算功能
- 支持獲取信息、分隔/整合文件、加密解密等
- 完全Python語言實現,不需要額外依賴,功能穩定
NLTK
自然語言文本處理第三方庫
網址:http://www.nltk.org/
- 提供了一批簡單易用的自然語言文本處理功能
- 支持語言文本分類、標記、語法句法、語義分析等
- 最優秀的Python自然語言處理庫
Python-docx
創建或更新Microsoft Word文件的第三方庫
網址:https://python-docx.readthedocs.io/en/latest/index.html
- 提供創建或更新.doc .docx等文件的計算功能
- 增加並配置段落、圖片、表格、文字等,功能全面
(四)Python庫之機器學習
Scikit-learn
機器學習方法工具集;與數據處理相關的第三方庫
網址:http://scikit-learn.org/
- 提供一批統一化的機器學習方法功能接口
- 提供聚類、分類、迴歸、強化學習等計算功能
- 機器學習最基本且最優秀的Python第三方庫
TensorFlow
AlphaGo背後的機器學習計算框架
網址:https://www.tensorflow.org/
- 谷歌公司推動的開源機器學習框架
- 將數據流圖作爲基礎,圖節點代表運算,邊代表張量
- 應用機器學習方法的一種方式,支撐谷歌人工智能應用
MXNet
基於神經網絡的深度學習計算框架
網址:https://mxnet.incubator.apache.org/
- 提供可擴展的神經網絡及深度學習計算功能
- 可用於自動駕駛、機器翻譯、語音識別等衆多領域
- Python最重要的深度學習計算框架
從Web解析到網絡空間
(五)Python庫之網絡爬蟲
Requests
最友好的網絡爬蟲功能庫
網址:https://2.python-requests.org/en/master/
- 提供了簡單易用的類HTTP協議網絡爬蟲功能
- 支持連接池、SSL、Cookies、HTTP(S)代理等
- Python最主要的頁面級網絡爬蟲功能庫
Scrapy
優秀的網絡爬蟲框架;Python數據分析高層次應用庫
網址:https://scrapy.org/
- 提供了構建網絡爬蟲系統的框架功能,功能半成品
- 支持批量和定時網頁爬取、提供數據處理流程等
- Python最主要且最專業的網絡爬蟲框架
pyspider
強大的Web頁面爬取系統
網址:http://docs.pyspider.org/en/latest/
- 提供了完整的網頁爬取系統構建功能
- 支持數據庫後端、消息隊列、優先級、分佈式架構等
- Python重要的網絡爬蟲類第三方庫
(六)Python庫之Web信息提取
Beautiful Soup
HTML和XML的解析庫
網址:https://www.crummy.com/software/BeautifulSoup/
- 提供瞭解析HTML和XML等Web信息的功能
- 又名beautifulsoup4或bs4,可以加載多種解析引擎
- 常與網絡爬蟲庫搭配使用,如Scrapy、requests等
Re
正則表達式解析和處理功能庫
網址:https://docs.python.org/3.6/library/re.html
- 提供了定義和解析正則表達式的一批通用功能
- 可用於各類場景,包括定點的Web信息提取
- Python最主要的標準庫之一,無需安裝
Python-Goose
提取文章類型Web頁面的功能庫
網址:https://github.com/grangier/python-goose
- 提供了對Web頁面中文章信息/視頻等元數據的提取功能
- 針對特定類型Web頁面,應用覆蓋面較廣
- Python最主要的Web信息提取庫
(七)Python庫之Web網站開發
Django
最流行的Web應用框架
網址:https://www.djangoproject.com/
- 提供了構建Web系統的基本應用框架
- MTV模式:模型(model)、模板(Template)、視圖(Views)
- Python最重要的Web應用框架,略微複雜的應用框架
Pyramid
規模適中的Web應用框架
網址:https://trypyramid.com/
- 提供了簡單方便構建Web系統的應用框架
- 不大不小,規模適中,適合快速構建並適度擴展類應用
- Python產品級Web應用框架,起步簡單可擴展性好
Flask
Web應用開發微框架
網址:https://palletsprojects.com/p/flask/
- 提供了最簡單構建Web系統的應用框架
- 特點是:簡單、規模小、快速
- Django > Pyramid > Flask
(八)Python庫之網絡應用開發
WeRoBot
微信公衆號開發框架
網址:https://github.com/offu/WeRoBot
- 提供瞭解析微信服務器消息及反饋消息的功能
- 建立微信機器人的重要技術手段
aip
百度AI開放平臺接口
網址:https://github.com/Baidu-AIP/python-sdk
- 提供了訪問百度AI服務的Python功能接口
- 語音、人臉、OCR、NLP、知識圖譜、圖像搜索等領域
- Python百度AI應用的最主要方式
MyQR
二維碼生成第三方庫
網址:https://github.com/sylnsfar/qrcode
- 提供了生成二維碼的系列功能
- 基本二維碼、藝術二維碼和動態二維碼
從人機交互到藝術設計
(九)Python庫之圖形用戶界面
PyQt5
Qt開發框架的Python接口
網址:https://www.riverbankcomputing.com/software/pyqt/intro
- 提供了創建Qt5程序的Python API接口
- Qt是非常成熟的跨平臺桌面應用開發系統,完備GUI
- 推薦的Python GUI開發第三方庫
wxPython
跨平臺GUI開發框架
網址:https://www.wxpython.org/
- 提供了專用於Python的跨平臺GUI開發框架
- 理解數據類型與索引的關係,操作索引即操作數據
- Python最主要的數據分析功能庫,基於Numpy開發
PyGObject
使用GTK+開發GUI的功能庫
網址:https://pygobject.readthedocs.io/en/latest/
- 提供了整合GTK+、WebKitGTK+等庫的功能
- GTK+:跨平臺的一種用戶圖形界面GUI框架
- 實例:Anaconda採用該庫構建GUI
(十)Python庫之遊戲開發
PyGame
簡單的遊戲開發功能庫
網址:https://www.pygame.org/news
- 提供了基於SDL的簡單遊戲開發功能及實現引擎
- 理解遊戲對外部輸入的響應機制及角色構建和交互機制
- Python遊戲入門最主要的第三方庫
Panda3D
開源、跨平臺的3D渲染和遊戲開發庫
網址:http://www.panda3d.org/
- 一個3D遊戲引擎,提供Python和C++兩種接口
- 支持很多先進特性:法線貼圖、光澤貼圖、卡通渲染等
- 由迪士尼和卡尼基梅隆大學共同開發
cocos2d
構建2D遊戲和圖形界面交互式應用的框架
網址:http://python.cocos2d.org/
- 提供了基於OpenGL的遊戲開發圖形渲染功能
- 支持GPU加速,採用樹形結構分層管理遊戲對象類型
- 適用於2D專業級遊戲開發
(十一)Python庫之虛擬現實
VR Zero
在樹莓派上開發VR應用的Python庫
網址:https://github.com/WayneKeenan/python-vrzero
- 提供大量與VR開發相關的功能
- 針對樹莓派的VR開發庫,支持設備小型化,配置簡單化
- 非常適合初學者實踐VR開發及應用
pyovr
Oculus Rift的Python開發接口
網址:https://github.com/cmbruns/pyovr
- 針對Oculus VR設備的Python開發庫
- 基於成熟的VR設備,提供全套文檔,工業級應用設備
- Python+虛擬現實領域探索的一種思路
Vizard
基於Python的通用VR開發引擎
網址:https://www.worldviz.com/vizard-virtual-reality-software
- 專業的企業級虛擬現實開發引擎
- 提供詳細的官方文檔
- 支持多種主流的VR硬件設備,具有一定通用性
(十二)Python庫之圖形藝術
Quads
迭代的藝術
網址:https://github.com/fogleman/Quads
- 對圖片進行四分迭代,形成像素風
- 可以生成動圖或靜圖圖像
- 簡單易用,具有很高展示度
ascii_art
ASCII藝術庫
網址:https://github.com/jontonsoup4/ascii_art
- 將普通圖片轉爲ASCII藝術風格
- 輸出可以是純文本或彩色文本
- 可採用圖片格式輸出
turtle
海龜繪圖體系
網址:https://docs.python.org/3/library/turtle.html
附一圖: