更新時間:2022年07月26日15時35分 來源:傳智教育 瀏覽次數(shù):
Python本身的數(shù)據(jù)分析功能并不強,需要安裝一些第三方的擴展庫來增強它的能力。在Python培訓(xùn)課程用到的庫包括NumPy、Pandas、Matplotlib、Seaborm、NLTK等,接下來將針對相關(guān)庫做一個簡單的介紹。
NumPy是Python開源的數(shù)值計算擴展工具,它提供了Python對多維數(shù)組的支持,能夠支持高級的維度數(shù)組與矩陣運算。此外,針對數(shù)組運算也提供了大量的數(shù)學(xué)函數(shù)庫。NumPy是大部分Python科學(xué)計算的基礎(chǔ),它具有以下功能:
(1)快速高效的多維數(shù)據(jù)對象ndarray。
(2)高性能科學(xué)計算和數(shù)據(jù)分析的基礎(chǔ)包。
(3)多維數(shù)組(矩陣)具有矢量運算能力,快速且節(jié)省空間。
(4)矩陣運算。無需循環(huán)即可完成類似Matlab中的矢量運算。
(5)線性代數(shù)、隨機數(shù)生成以及傅里葉變換功能。
Pandas是一個基于NumPy的數(shù)據(jù)分析包,它是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas中納入了大量庫和標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需要的函數(shù)和方法,使用戶能快速便捷地處理數(shù)據(jù)。
Pandas作為強大而高效的數(shù)據(jù)分析環(huán)境中的重要因素之一,具有以下特點:
(1)一個快速高效的DataFrame對象,具有默認和自定義的索引。
(2)用于在數(shù)據(jù)結(jié)構(gòu)和不同文件格式中讀取和寫入數(shù)據(jù),比如文本文件、Exeel文件及SQLite數(shù)據(jù)庫。
(3)智能數(shù)據(jù)對齊和缺失數(shù)據(jù)的集成處理。
(4)基于標(biāo)簽切片和花式索引獲取數(shù)據(jù)集的子集。
(5)可以刪除或插入來自數(shù)據(jù)結(jié)構(gòu)的列。
(6)按數(shù)據(jù)分組進行聚合和轉(zhuǎn)換。
(7)高性能的數(shù)據(jù)合并和連接。
(8)時間序列功能。
Matplotlib是一個用在Python中繪制數(shù)組的2D圖形庫,雖然它起源于模仿Matlab圖形命令,但它獨立于Matlab,可以通過Pythonic和面向?qū)ο蟮姆绞绞褂茫荘ython中最出色的繪圖庫。
Matplotlib主要用純Python 語言進行編寫,但它大量使用NumPy和其他擴展代碼,即使對大型數(shù)組也能提供良好的性能。
Seabom是Python中基于Matplotlib的數(shù)據(jù)可視化工具,它提供了很多高層封裝的函數(shù),幫助數(shù)據(jù)分析人員快速繪制美觀的數(shù)據(jù)圖形,從而避免了許多額外的參數(shù)配置問題。注意:上面介紹的這些庫都已經(jīng)在安裝Anaconda時進行了下載,后期可以直接使用import導(dǎo)入使用。
NLTK被稱為“使用Python進行教學(xué)和計算語言學(xué)工作的絕佳工具”,以及“用自然語言進行游戲的神奇圖書館”。
NLTK\2一個領(lǐng)先的平臺,用于構(gòu)建使用人類語言數(shù)據(jù)的Python程序,它為超過50個語料庫和詞匯資源(如WordNet)提供了易于使用的接口,還提供了一套文本處理庫,用于分類、標(biāo)記化、詞干化、解析和語義推理、NLP庫的包裝器和一個活躍的討論論壇。