您好,登錄后才能下訂單哦!
這篇文章主要講解了“不常用但很有用的Python庫有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“不常用但很有用的Python庫有哪些”吧!
提到數(shù)據(jù)科學(xué)的python包,大家想到的估計(jì)是numpy,pandas,scikit-learn之類的,這里給大家介紹一些不常用,但是非常有用的python包,就像是癢癢撓,雖然大部分時(shí)間用不上,但是真要用起來,還是挺爽的。Python是個(gè)了不起的語言。事實(shí)上,這是世界上發(fā)展最快的語言之一(感覺沒有之一,就是最快的)。在數(shù)據(jù)科學(xué)領(lǐng)域和開發(fā)領(lǐng)域,一次又一次的為我們提供便利。整個(gè)Python的生態(tài)和庫使之成為所有用戶都適用(初學(xué)者和高級用戶)。Python之所以這么成功,原因之一就在于它的庫,讓Python變得靈活快速。
這篇文章中,我們會(huì)看一些不太常用的數(shù)據(jù)科學(xué)的庫,除了pandas,scikit-learn,matplotlib等。盡管說到數(shù)據(jù)科學(xué),我們想到的就是pandas和scikit-learn,了解一下其他的python的庫也沒什么壞處。下面就是另外一些數(shù)據(jù)科學(xué)中可能會(huì)用到的Python庫。
從網(wǎng)絡(luò)獲取數(shù)據(jù)是Python科學(xué)家非常重要的任務(wù)。Wget是一個(gè)免費(fèi)的工具,可以從Web上非交互式的下載文件,支持HTTP, HTTPS, 和 FTP協(xié)議,同樣支持HTTP代理。由于是非交互式的,所以可以后臺運(yùn)行,用戶沒有登錄也可以。所以下次你需要從網(wǎng)上下載圖片的時(shí)候,可以試試wget。
安裝:
$ pip install wget
例子:
import wget url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3' filename = wget.download(url) 100% [................................................] 3841532 / 3841532 filename 'razorback.mp3'
這個(gè)是干啥的呢,你在處理日期時(shí)間的時(shí)候搞得頭大的時(shí)候,Pendulum就很適合你,這包是用來簡化日期時(shí)間的操作的,具體使用可以看 這里 。
安裝:
$ pip install pendulum
例子:
import pendulum dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto') dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver') print(dt_vancouver.diff(dt_toronto).in_hours()) 3
大多數(shù)的分類問題中,當(dāng)所有的類別中的樣本的數(shù)量大致相同時(shí),效果是最好的,也就是樣本均衡。但是在實(shí)際情況中,往往都是非均衡的數(shù)據(jù),這往往會(huì)影響訓(xùn)練的過程以及后面的預(yù)測。幸好,這個(gè)庫可以幫我們解決這個(gè)問題。這個(gè)和scikit-learn兼容,是scikit-learn-contrib的一部分。下次可以試試。
安裝:
pip install -U imbalanced-learn # or conda install -c conda-forge imbalanced-learn
例子:
請參考文檔。
在清洗NLP相關(guān)的數(shù)據(jù)的時(shí)候,往往需要替換一些關(guān)鍵詞或者提取一些關(guān)鍵詞。通常,可以用正則表達(dá)式來干這個(gè)活,不過正則條件的數(shù)量上千的時(shí)候,就會(huì)很頭大。FlashText是基于FlashText算法的一個(gè)模塊,提供了這種情況下的一個(gè)替代工具,F(xiàn)lashText最好的地方在于運(yùn)行時(shí)間是和搜索的條件的數(shù)量不相關(guān)的。更多的信息可以看這里。
安裝:
$ pip install flashtext
例子:
提取關(guān)鍵詞
from flashtext import KeywordProcessor keyword_processor = KeywordProcessor() # keyword_processor.add_keyword(<unclean name>, <standardised name>) keyword_processor.add_keyword('Big Apple', 'New York') keyword_processor.add_keyword('Bay Area') keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.') keywords_found ['New York', 'Bay Area']
替換關(guān)鍵詞
keyword_processor.add_keyword('New Delhi', 'NCR region') new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.') new_sentence 'I love New York and NCR region.'
名字聽起來怪怪的,不過在字符匹配的時(shí)候,用起來還是爽爽的??梢暂p松的實(shí)現(xiàn)字符比例,token比例等。還可以在不同的數(shù)據(jù)集中進(jìn)行匹配。
安裝:
$ pip install fuzzywuzzy
例子:
from fuzzywuzzy import fuzz from fuzzywuzzy import process # Simple Ratio fuzz.ratio("this is a test", "this is a test!") 97 # Partial Ratio fuzz.partial_ratio("this is a test", "this is a test!") 100
時(shí)間序列的處理是機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)常遇到的問題。PyFlux就是專門用來處理時(shí)間序列問題的開源Python庫。這個(gè)庫里有一系列的時(shí)間序列模型如ARIMA, GARCH 和VAR 等。簡單來說,PyFlux提供了時(shí)間序列到概率的建模,值的一試。
安裝
pip install pyflux
例子
參考這里 。
交流結(jié)果是數(shù)據(jù)科學(xué)的非常重要的方面。結(jié)果可視化是個(gè)非常重要的優(yōu)勢。IPyvolume是個(gè)3D可視化庫,不過這還是在pre-1.0的階段,可以這樣類別一下, IPyvolume是對3維數(shù)據(jù)的可視化,matplotlib是對二維數(shù)據(jù)的可視化。具體可以看 這里。
安裝
Using pip $ pip install ipyvolume Conda/Anaconda $ conda install -c conda-forge ipyvolume
例子
標(biāo)記
渲染
這是個(gè)創(chuàng)建web應(yīng)用的用戶生產(chǎn)的Python框架。基于Flask寫的,可以用來構(gòu)建數(shù)據(jù)可視化的app,這些app可以在網(wǎng)絡(luò)瀏覽器上渲染。用戶手冊可見 這里.
安裝
pip install dash==0.29.0 # The core dash backend pip install dash-html-components==0.13.2 # HTML components pip install dash-core-components==0.36.0 # Supercharged components pip install dash-table==3.1.3 # Interactive DataTable component (new!)
例子
Gym來自O(shè)penAI,用來做強(qiáng)化學(xué)習(xí)。兼容所有的數(shù)值計(jì)算庫,如TensorFlow,Theano等。這個(gè)庫提供了一個(gè)問題測試的環(huán)境,你可以用這個(gè)環(huán)境來實(shí)驗(yàn)?zāi)愕膹?qiáng)化學(xué)習(xí)算法。這些環(huán)境共享界面,使你可以寫通用的算法。
安裝
pip install gym
例子
感謝各位的閱讀,以上就是“不常用但很有用的Python庫有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對不常用但很有用的Python庫有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。