文章目錄
- Python 計算生態(tài)概覽
- Python 計算程序設計思維
- Python 計算生態(tài)概覽
- 從數(shù)據(jù)處理到人工智能
- Python庫之數(shù)據(jù)分析
- Numpy: 表達N維數(shù)組的最基礎庫
- Pandas: Python數(shù)據(jù)分析高層次應用庫
- SciPy: 數(shù)學、科學和工程計算功能庫
- Python庫之數(shù)據(jù)可視化
- Matplotlib: 高質量的二維數(shù)據(jù)可視化功能庫
- Seaborn: 統(tǒng)計類數(shù)據(jù)可視化功能庫
- Mayavi:三維科學數(shù)據(jù)可視化功能庫
- Python庫之文本處理
- PyPDF2: 用來處理pdf文件的工具集
- NLTK: 自然語言文本處理第三方庫
- Python-docx: 創(chuàng)建或更新Microsoft Word文件的第三方庫
- Python庫之機器學習
- Scikit-learn: 機器學習方法工具集
- TensorFlow: AlphaGo背后的機器學習計算框架
- MXNet:基于神經網(wǎng)絡的深度學習計算框架
- 從Web解析到網(wǎng)絡空間
- Python庫之網(wǎng)絡爬蟲
- Requests: 最友好的網(wǎng)絡爬蟲功能庫
- Scrapy: 優(yōu)秀的網(wǎng)絡爬蟲框架
- pyspider: 強大的Web頁面爬取系統(tǒng)
- Python庫之Web信息提取
- Beautiful Soup: HTML和XML的解析庫
- Re: 正則表達式解析和處理功能庫
- Python-Goose: 提取文章類型Web頁面的功能庫
- Python庫之Web網(wǎng)站開發(fā)
- Django: 最流行的Web應用框架
- Pyramid: 規(guī)模適中的Web應用框架
- Flask: Web應用開發(fā)微框架
- Python庫之網(wǎng)絡應用開發(fā)
- WeRoBot: 微信公眾號開發(fā)框架
- aip: 百度AI開放平臺接口
- MyQR: 二維碼生成第三方庫
- 從人機交互到藝術設計
- Python庫之圖形用戶界面
- PyQt5: Qt開發(fā)框架的Python接口
- wxPython: 跨平臺GUI開發(fā)框架
- PyGObject: 使用GTK+開發(fā)GUI的功能庫
- Python庫之游戲開發(fā)
- PyGame: 簡單的游戲開發(fā)功能庫
- Panda3D: 開源、跨平臺的3D渲染和游戲開發(fā)庫
- cocos2d: 構建2D游戲和圖形界面交互式應用的框架
- Python庫之虛擬現(xiàn)實
- VR Zero: 在樹莓派上開發(fā)VR應用的Python庫
- pyovr: Oculus Rift的Python開發(fā)接口
- Vizard: 基于Python的通用VR開發(fā)引擎
- Python庫之圖形藝術
- Quads: 迭代的藝術
- ascii_art: ASCII藝術庫
- turtle: 海龜繪圖體系
- Python庫整理
- 從數(shù)據(jù)分析到人工智能
- 從Web解析到網(wǎng)絡空間
- 從人機交互到藝術設計
Python 計算生態(tài)概覽
Python 計算程序設計思維
- 計算思維:抽象計算過程和自動化執(zhí)行
- 計算生態(tài):競爭發(fā)展、相互依存、快速更迭
- 用戶體驗:進度展示、異常處理等
- IPO、自頂向下、模塊化、配置化、應用開發(fā)的四個步驟
Python 計算生態(tài)概覽
- 從數(shù)據(jù)處理到人工智能
- 從Web解析到網(wǎng)絡空間
- 從人機交互到藝術設計
從數(shù)據(jù)處理到人工智能
數(shù)據(jù)表示->數(shù)據(jù)清洗->數(shù)據(jù)統(tǒng)計->數(shù)據(jù)可視化->數(shù)據(jù)挖掘->人工智能
- 數(shù)據(jù)表示:采用合適方式用程序表達數(shù)據(jù)
- 數(shù)據(jù)清理:數(shù)據(jù)歸一化、數(shù)據(jù)轉換、異常值處理
- 數(shù)據(jù)統(tǒng)計:數(shù)據(jù)的概要理解,數(shù)量、分布、中位數(shù)等
- 數(shù)據(jù)可視化:直觀展示數(shù)據(jù)內涵的方式
- 數(shù)據(jù)挖掘:從數(shù)據(jù)分析獲得知識,產生數(shù)據(jù)外的價值
- 人工智能:數(shù)據(jù)/語言/圖像/視覺等方面深度分析與決策
主要庫:
- Python庫之數(shù)據(jù)分析
- Python庫之數(shù)據(jù)可視化
- Python庫之文本處理
- Python庫之機器學習
Python庫之數(shù)據(jù)分析
Numpy: 表達N維數(shù)組的最基礎庫
- Python接口使用, C語言實現(xiàn),計算速度優(yōu)異
- Python數(shù)據(jù)分析及科學計算的基礎庫,支撐Pandas等
- 提供直接的矩陣運算、廣播函數(shù)、線性代數(shù)等功能
實例:
Numpy: 表達N維數(shù)組的最基礎庫
官網(wǎng):http://www.numpy.org
Pandas: Python數(shù)據(jù)分析高層次應用庫
- 提供了簡單易用的數(shù)據(jù)結構和數(shù)據(jù)分析工具
- 理解數(shù)據(jù)類型與索引的關系,操作索引即操作數(shù)據(jù)
- Python最主要的數(shù)據(jù)分析功能庫,基于Numpy開發(fā)
實例:
Pandas: Python數(shù)據(jù)分析高層次應用庫
- Series = 索引 + 一維數(shù)據(jù)
- DataFrame = 行列索引 + 二維數(shù)據(jù)
官網(wǎng):www.pandas.pydata.org
SciPy: 數(shù)學、科學和工程計算功能庫
- 提供了一批數(shù)學算法及工程數(shù)據(jù)運算功能
- 類似Matlab,可用于如傅里葉變換、信號處理等應用
- Python最主要的科學計算功能庫,基于Numpy開發(fā)
實例:
SciPy: 數(shù)學、科學和工程相關功能庫
官網(wǎng):www.scipy.org
Python庫之數(shù)據(jù)可視化
Matplotlib: 高質量的二維數(shù)據(jù)可視化功能庫
- 提供了超過100種數(shù)據(jù)可視化展示效果
- 通過matplotlib.pyplot子庫調用各可視化效果
- Python最主要的數(shù)據(jù)可視化功能庫,基于Numpy開發(fā)
官網(wǎng):http://matplotlib.org
Seaborn: 統(tǒng)計類數(shù)據(jù)可視化功能庫
- 提供了一批高層次的統(tǒng)計類數(shù)據(jù)可視化展示效果
- 主要展示數(shù)據(jù)間分布、分類和線性關系等內容
- 基于Matplotlib開發(fā),支持Numpy和Pandas
實例:
Seaborn: 統(tǒng)計類數(shù)據(jù)可視化功能庫
官網(wǎng):http://seaborn.pydata.org
Mayavi:三維科學數(shù)據(jù)可視化功能庫
- 提供了一批簡單易用的3D科學計算數(shù)據(jù)可視化展示效果
- 目前版本是Mayavi2,三維可視化最主要的第三方庫
- 支持Numpy、 TVTK、 Traits、 Envisage等第三方庫
實例:
Mayavi:三維科學數(shù)據(jù)可視化功能庫
官網(wǎng):http://docs.enthought.com/mayavi/mayavi/
Python庫之文本處理
PyPDF2: 用來處理pdf文件的工具集
- 提供了一批處理PDF文件的計算功能
- 支持獲取信息、分隔/整合文件、加密解密等
- 完全Python語言實現(xiàn),不需要額外依賴,功能穩(wěn)定
實例:
兩個PDF整合
from PyPDF2 import PdfFileReader, PdfFileMerger
merger = PdfFileMerger()
input1 = open("document1.pdf",
"rb")
input2 = open("document2.pdf",
"rb")
merger.append(fileobj = input1, pages = (0,3))
merger.merge(position = 2, fileobj = input2, pages = (0,1))
output = open("document-output.pdf",
"wb")
merger.write(output)
官網(wǎng):http://mstamy2.github.io/PyPDF2/
NLTK: 自然語言文本處理第三方庫
- 提供了一批簡單易用的自然語言文本處理功能
- 支持語言文本分類、標記、語法句法、語義分析等
- 最優(yōu)秀的Python自然語言處理庫
實例:
NLTK: 自然語言文本處理第三方庫
from nltk.corpus import treebank
t = treebank.parsed_sents('wsj_0001.mrg')[0]
t.draw()
官網(wǎng):http://www.nltk.org/
Python-docx: 創(chuàng)建或更新Microsoft Word文件的第三方庫
- 提供創(chuàng)建或更新.doc .docx等文件的計算功能
- 增加并配置段落、圖片、表格、文字等,功能全面
實例:
Python-docx: 創(chuàng)建或更新Microsoft Word文件的第三方庫
from docx import Document
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
document.add_page_break()
document.save('demo.docx')
官網(wǎng):https://python-docx.readthedocs.io/en/latest/index.html
Python庫之機器學習
Scikit-learn: 機器學習方法工具集
- 提供一批統(tǒng)一化的機器學習方法功能接口
- 提供聚類、分類、回歸、強化學習等計算功能
- 機器學習最基本且最優(yōu)秀的Python第三方庫
實例:
Scikit-learn:與數(shù)據(jù)處理相關的第三方庫
官網(wǎng):http://scijit-learn.org
TensorFlow: AlphaGo背后的機器學習計算框架
- 谷歌公司推動的開源機器學習框架
- 將數(shù)據(jù)流圖作為基礎,圖節(jié)點代表運算,邊代表張量
- 應用機器學習方法的一種方式,支撐谷歌人工智能應用
官網(wǎng):https://www.tensorflow.org
MXNet:基于神經網(wǎng)絡的深度學習計算框架
- 提供可擴展的神經網(wǎng)絡及深度學習計算功能
- 可用于自動駕駛、機器翻譯、語音識別等眾多領域
- Python最重要的深度學習計算框架
實例:
MXNet:基于神經網(wǎng)絡的深度學習計算框架
官網(wǎng):https://mxnet.incubator.apache.org/
從Web解析到網(wǎng)絡空間
- Python庫之網(wǎng)絡爬蟲
- Python庫之Web信息提取
- Python庫之Web網(wǎng)站開發(fā)
- Python庫之網(wǎng)絡應用開發(fā)
Python庫之網(wǎng)絡爬蟲
Requests: 最友好的網(wǎng)絡爬蟲功能庫
- 提供了簡單易用的類HTTP協(xié)議網(wǎng)絡爬蟲功能
- 支持連接池、 SSL、 Cookies、 HTTP(S)代理等
- Python最主要的頁面級網(wǎng)絡爬蟲功能庫
實例:
import requests
r = requests.get('https://api.github.com/user'
,auth=('user', 'pass'))
r.status_code
r.headers['content-type']
r.encoding
r.text
官網(wǎng):https://requests.readthedocs.io/en/master/
Scrapy: 優(yōu)秀的網(wǎng)絡爬蟲框架
- 提供了構建網(wǎng)絡爬蟲系統(tǒng)的框架功能,功能半成品
- 支持批量和定時網(wǎng)頁爬取、提供數(shù)據(jù)處理流程等
- Python最主要且最專業(yè)的網(wǎng)絡爬蟲框架
官網(wǎng):https://scrapy.org/
pyspider: 強大的Web頁面爬取系統(tǒng)
- 提供了完整的網(wǎng)頁爬取系統(tǒng)構建功能
- 支持數(shù)據(jù)庫后端、消息隊列、優(yōu)先級、分布式架構等
- Python重要的網(wǎng)絡爬蟲類第三方庫
官網(wǎng):http://docs.pyspider.org/en/latest/
Python庫之Web信息提取
Beautiful Soup: HTML和XML的解析庫
- 提供了解析HTML和XML等Web信息的功能
- 又名beautifulsoup4或bs4,可以加載多種解析引擎
- 常與網(wǎng)絡爬蟲庫搭配使用,如Scrapy、 requests等
實例:
Beautiful Soup: HTML和XML的解析庫
官網(wǎng):https://www.crummy.com/software/BeautifulSoup/
Re: 正則表達式解析和處理功能庫
- 提供了定義和解析正則表達式的一批通用功能
- 可用于各類場景,包括定點的Web信息提取
- Python最主要的標準庫之一,無需安裝
官網(wǎng):https://docs.python.org/3.6/library/re.html
Python-Goose: 提取文章類型Web頁面的功能庫
- 提供了對Web頁面中文章信息/視頻等元數(shù)據(jù)的提取功能
- 針對特定類型Web頁面,應用覆蓋面較廣
- Python最主要的Web信息提取庫
官網(wǎng):https://github.com/grangier/python-goose
Python庫之Web網(wǎng)站開發(fā)
Django: 最流行的Web應用框架
- 提供了構建Web系統(tǒng)的基本應用框架
- MTV模式:模型(model)、模板(Template)、視圖(Views)
- Python最重要的Web應用框架,略微復雜的應用框架
官網(wǎng):https://www.djangoproject.com/
Pyramid: 規(guī)模適中的Web應用框架
- 提供了簡單方便構建Web系統(tǒng)的應用框架
- 不大不小, 規(guī)模適中,適合快速構建并適度擴展類應用
- Python產品級Web應用框架,起步簡單可擴展性好
官網(wǎng):https://trypyramid.com/
Flask: Web應用開發(fā)微框架
- 提供了最簡單構建Web系統(tǒng)的應用框架
- 特點是:簡單、規(guī)模小、快速
- Django > Pyramid > Flask
官網(wǎng):https://dormousehole.readthedocs.io/en/latest/
官網(wǎng):https://flask.palletsprojects.com/en/1.1.x/
Python庫之網(wǎng)絡應用開發(fā)
WeRoBot: 微信公眾號開發(fā)框架
- 提供了解析微信服務器消息及反饋消息的功能
- 建立微信機器人的重要技術手段
官網(wǎng):https://github.com/offu/WeRoBot
aip: 百度AI開放平臺接口
- 提供了訪問百度AI服務的Python功能接口
- 語音、人臉、 OCR、 NLP、知識圖譜、圖像搜索等領域
- Python百度AI應用的最主要方式
官網(wǎng):https://github.com/Baidu-AIP/python-sdk
MyQR: 二維碼生成第三方庫
- 提供了生成二維碼的系列功能
- 基本二維碼、藝術二維碼和動態(tài)二維碼
官網(wǎng):https://github.com/sylnsfar/qrcode
從人機交互到藝術設計
- Python庫之圖形用戶界面
- Python庫之游戲開發(fā)
- Python庫之虛擬現(xiàn)實
- Python庫之圖形藝術
Python庫之圖形用戶界面
PyQt5: Qt開發(fā)框架的Python接口
- 提供了創(chuàng)建Qt5程序的Python API接口
- Qt是非常成熟的跨平臺桌面應用開發(fā)系統(tǒng),完備GUI
- 推薦的Python GUI開發(fā)第三方庫
官網(wǎng):https://www.riverbankcomputing.com/software/pyqt
wxPython: 跨平臺GUI開發(fā)框架
- 提供了專用于Python的跨平臺GUI開發(fā)框架
- 理解數(shù)據(jù)類型與索引的關系,操作索引即操作數(shù)據(jù)
- Python最主要的數(shù)據(jù)分析功能庫,基于Numpy開發(fā)
官網(wǎng):https://www.wxpython.org/
PyGObject: 使用GTK+開發(fā)GUI的功能庫
- 提供了整合GTK+、 WebKitGTK+等庫的功能
- GTK+:跨平臺的一種用戶圖形界面GUI框架
- 實例: Anaconda采用該庫構建GUI
官網(wǎng):https://pygobject.readthedocs.io/en/latest/
Python庫之游戲開發(fā)
PyGame: 簡單的游戲開發(fā)功能庫
- 提供了基于SDL的簡單游戲開發(fā)功能及實現(xiàn)引擎
- 理解游戲對外部輸入的響應機制及角色構建和交互機制
- Python游戲入門最主要的第三方庫
官網(wǎng):https://www.pygame.org/news
Panda3D: 開源、跨平臺的3D渲染和游戲開發(fā)庫
- 一個3D游戲引擎,提供Python和C++兩種接口
- 支持很多先進特性:法線貼圖、光澤貼圖、卡通渲染等
- 由迪士尼和卡尼基梅隆大學共同開發(fā)
官網(wǎng):https://www.panda3d.org/
cocos2d: 構建2D游戲和圖形界面交互式應用的框架
- 提供了基于OpenGL的游戲開發(fā)圖形渲染功能
- 支持GPU加速, 采用樹形結構分層管理游戲對象類型
- 適用于2D專業(yè)級游戲開發(fā)
官網(wǎng):http://python.cocos2d.org/
Python庫之虛擬現(xiàn)實
VR Zero: 在樹莓派上開發(fā)VR應用的Python庫
- 提供大量與VR開發(fā)相關的功能
- 針對樹莓派的VR開發(fā)庫,支持設備小型化,配置簡單化
- 非常適合初學者實踐VR開發(fā)及應用
官網(wǎng):https://github.com/WayneKeenan/python-vrzero
pyovr: Oculus Rift的Python開發(fā)接口
- 針對Oculus VR設備的Python開發(fā)庫
- 基于成熟的VR設備,提供全套文檔,工業(yè)級應用設備
- Python+虛擬現(xiàn)實領域探索的一種思路
官網(wǎng):https://github.com/cmbruns/pyovr
Vizard: 基于Python的通用VR開發(fā)引擎
- 專業(yè)的企業(yè)級虛擬現(xiàn)實開發(fā)引擎
- 提供詳細的官方文檔
- 支持多種主流的VR硬件設備,具有一定通用性
官網(wǎng):http://www.worldviz.com/vizard-virtual-reality-software
Python庫之圖形藝術
Quads: 迭代的藝術
- 對圖片進行四分迭代,形成像素風
- 可以生成動圖或靜圖圖像
- 簡單易用,具有很高展示度
官網(wǎng):https://github.com/fogleman/Quads
ascii_art: ASCII藝術庫
- 將普通圖片轉為ASCII藝術風格
- 輸出可以是純文本或彩色文本
- 可采用圖片格式輸出
官網(wǎng):https://github.com/jontonsoup4/ascii_art
turtle: 海龜繪圖體系
- 龜圖形是一種向孩子介紹編程的流行方式。它是Wally Feurzeig,Seymour Papert和Cynthia Solomon在1967年開發(fā)的原始徽標編程語言的一部分。
官網(wǎng):https://docs.python.org/3/library/turtle.html
Python庫整理
從數(shù)據(jù)分析到人工智能
- 數(shù)據(jù)處理: Numpy、 Pandas、 SciPy
- 數(shù)據(jù)可視化: Matplotlib、 Seaborn、 Mayavi
- 文本:PyPDF2、 NLTK、 python-docx
- 人工智能:Scikit-learn、 TensorFlow、 MXNet
從Web解析到網(wǎng)絡空間
- 爬蟲: Requests、 Scrapy、 pyspider
- 信息解析:Beautiful Soup、 Re、 Python-Goose
- 網(wǎng)站開發(fā):Django、 Pyramid、 Flask
- 網(wǎng)絡應用開發(fā): WeRobot、 aip、 MyQR
從人機交互到藝術設計
- 開發(fā)用戶界面: PyQt5、 wxPython、 PyGObject
- 開發(fā)游戲: PyGame、 Panda3D、 cocos2d
- 虛擬現(xiàn)實:VR Zero、 pyovr、 Vizard
- 藝術設計:Quads、 ascii_art、 turtle
查看更多:http://www.coffeecode.codes/