Python是一種很棒的編程語言。事實上,它還是世界上發(fā)展最快的編程語言之一。它一次又一次證明了它在數(shù)據(jù)科學(xué)職位中的實用性。整個Python及其庫的生態(tài)系統(tǒng)使其成為全世界用戶(初學(xué)者和高級)的合適選擇。
在本文中,我們將介紹一些用于數(shù)據(jù)科學(xué)方面的Python庫,它們并不像pandas、scikit-learn 和 matplotlib那么知名,但一樣非常實用的庫。
1、Wget
提取數(shù)據(jù),尤其是從網(wǎng)絡(luò)上提取數(shù)據(jù),是數(shù)據(jù)科學(xué)家的主要任務(wù)之一。Wget是一個免費的實用程序,用于從Web上進行非交互式文件下載。它支持HTTP,HTTPS和FTP協(xié)議,以及通過HTTP代理進行檢索。由于它是非交互式的,即使用戶沒有登錄也可以在后臺運行。因此,如果你需要下載一個網(wǎng)站或頁面中的所有圖片時,wget 就可以幫到你
安裝:
$ pip install wget
示例:
2、Pendulum
如果你還在苦惱Python中時間日期的處理,那么你需要Pendulum。它是一個Python包,用于簡化datetime操作。它是Python原生類的一個臨時替代。
安裝:
$ pip install pendulum
例子:
3、Imbalanced-learn
大多數(shù)分類算法在每個類的樣本數(shù)量幾乎都是一樣的情況下是最有效的,但實際工作中大多數(shù)是不平衡的數(shù)據(jù)集,這些數(shù)據(jù)集對機器學(xué)習(xí)算法的學(xué)習(xí)階段和后續(xù)預(yù)測都可能有影響。幸運的是,創(chuàng)imbalance -learn庫可以解決這個問題。它與scikit-learn兼容,是scikit- learning -contrib項目的一部分。下次遇到不平衡的數(shù)據(jù)集的情況,請別忘了它。
安裝:
4、FlashText
在自然語言處理(NLP)任務(wù)中清理文本數(shù)據(jù)通常需要替換關(guān)鍵字或從句子中提取關(guān)鍵字。通常,這樣的操作可以用正則表達(dá)式來完成,但是如果要搜索的詞匯量達(dá)到數(shù)千,那么這些操作就會變得很繁瑣。
Python的FlashText模塊基于FlashText算法,為這種情況提供了合適的替代方案。FlashText最棒的地方是,它的運行與你的搜索量無關(guān)。
安裝:
$ pip install flashtext
例子:
1)提取關(guān)鍵詞
2)替代關(guān)鍵詞
5、FuzzyWuzzy
這個名稱聽起來很奇怪,但是在字符串匹配方面,F(xiàn)uzzyWuzzy是一個非常有用的庫。它可以方便地實現(xiàn)字符串匹配率等操作。它還可以方便地匹配保存在不同數(shù)據(jù)庫中的記錄。
安裝:
$ pip install fuzzywuzzy
例子:
6、PyFlux
時間序列分析是機器學(xué)習(xí)中最常見的問題之一。PyFlux是Python中的一個開源庫,它是為處理時間序列問題而構(gòu)建的。該庫擁有一系列很優(yōu)秀的現(xiàn)代時間序列模型,諸如ARIMA、GARCH和VAR模型等。簡而言之,PyFlux提供了一種時間序列建模的概率方法。
安裝:
pip install pyflux
7、IPyvolume
數(shù)據(jù)科學(xué)很重要的一部分就是交流結(jié)果,可視化結(jié)果顯示可以給你提供一個巨大的優(yōu)勢。IPyvolume是一個Python庫,用于可視化Jupyter筆記本中的3D容量和符號(例如3D散點圖),只需少量的配置。
安裝 :
例子:
繪制
8、Dash
Dash是一個用于構(gòu)建web應(yīng)用程序的高效Python框架。它基于FlaskPlotty.js 和 Response.js 之上。將下拉菜單和圖形等UI元素與Python分析代碼捆綁在一起,而不需要使用JavaScript。Dash非常適合構(gòu)建可以在web瀏覽器中呈現(xiàn)的數(shù)據(jù)可視化應(yīng)用程序。
安裝:
例子:
下面的示例顯示了具有下拉功能的高度交互式圖。當(dāng)用戶在下拉菜單中選擇一個值時,應(yīng)用程序代碼將動態(tài)地將數(shù)據(jù)從Google Finance 導(dǎo)出到panda DataFrame。
9、Gym
Gym是開發(fā)和對比強化學(xué)習(xí)算法的工具,它兼容任何數(shù)據(jù)科學(xué)庫,如TensorFlow或Theano。是一個測試問題的集合,也叫環(huán)境,你可以用它來計算強化學(xué)習(xí)算法。這些環(huán)境有一個共享接口,允許用戶編寫通用算法。
安裝:
pip install gym
例子:
以下示例將在 CartPole-v0環(huán)境中,運行 1000 次,在每一步渲染環(huán)境。