目前,網上已有成千上萬個Python包,但幾乎沒有人能夠全部知道它們。單單 PyPi上就有超過47000個包列表。
現在,越來越多的數據科學家開始使用Python,雖然他們從 pandas, scikit-learn, numpy中獲得了不少好處,但我仍想向他們介紹一些年長且非常實用的Python庫。在本文中,我將列一些不太知名的庫,即使你是經驗豐富的Python的開發者,也值得過來一看。
1) delorean
Dolorean是一個非常酷的日期/時間庫。類似javaScript的moment,擁有非常完善的技術文檔。
| 1 2 3 | fromdelorean importDeloreanEST ="US/Eastern"d =Delorean(timezone=EST) | 
2) PRettytable
你可能從未聽過該庫,因為它托管在GoogleCode。prettytable主要用于在終端或瀏覽器端構建很好的輸出。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | fromprettytable importPrettyTabletable =PrettyTable(["animal", "ferocity"])table.add_row(["wolverine", 100])table.add_row(["grizzly", 87])table.add_row(["Rabbit of Caerbannog", 110])table.add_row(["cat", -1])table.add_row(["platypus", 23])table.add_row(["dolphin", 63])table.add_row(["albatross", 44])table.sort_key("ferocity")table.reversesort =True+----------------------+----------+|        animal        | ferocity |+----------------------+----------+| Rabbit of Caerbannog |   110||      wolverine       |   100||       grizzly        |    87||       dolphin        |    63||      albatross       |    44||       platypus       |    23||         cat          |    -1|+----------------------+----------+ | 
好吧,我也是首次安裝該庫。這是一款非常瘦小的語言轉換庫,支持15種語言。
| 1 2 3 4 5 | fromsnowballstemmer importEnglishStemmer, SpanishStemmer# GregoriSpanishStemmer().stemWord("amarillo")# amarill | 
4.wget
你是否還記得,每一次都會因為某個目的而編寫網絡爬蟲工具,以后再也不用了,因為wget就足夠你使用了。wget是Python版的網絡爬蟲庫,簡單好用。
| 1 2 3 | importwgetwget.download("# 100% [............................................................................] 280385 / 280385 | 
備注:linux和osx用戶這樣用:from sh import wget。但是,wget模塊還有一個更好的argument handline。
5.PyMC
scikit-learn似乎是所有人的寵兒,但在我看來,PyMC更有魅力。PyMC主要用來做Bayesian分析。
| 1 2 3 4 5 | frompymc.examples importdisaster_modelfrompymc importMCMCM =MCMC(disaster_model)M.sample(iter=10000, burn=1000, thin=10)[-----------------100%-----------------] 10000of 10000complete in1.4sec | 
6.sh
sh庫用來將shell命令作為函數導入到Python中。在bash中使用是非常實用的,但是在Python中不容易記住怎么使用(即遞歸搜索文件)。
| 1 2 3 4 5 6 7 | fromsh importfindfind("/tmp")/tmp/foo/tmp/foo/file1.json/tmp/foo/file2.json/tmp/foo/file3.json/tmp/foo/bar/file3.json | 
Fuzzywuzzy是一個可以對字符串進行模糊匹配的庫,大家有空可以去 查看源碼。
| 1 2 3 | fromfuzzywuzzy importfuzzfuzz.ratio("Hit me with your best shot", "Hit me with your pet shark")# 85 | 
progressbar是一個進度條庫,該庫提供了一個文本模式的progressbar。
| 1 2 3 4 5 6 7 8 | fromprogressbar importProgressBarimporttimepbar =ProgressBar(maxval=10)fori inrange(1, 11):    pbar.update(i)    time.sleep(1)pbar.finish()# 60% |########################################################                                      | | 
9.colorama
colorama主要用來給文本添加各種顏色,并且非常簡單易用。

10.uuid
uuid是基于Python實現的UUID庫,它實現了UUID標注的1,3,4和5版本,在確保唯一性上真的非常方便。
| 1 2 3 | importuuidprintuuid.uuid4()# e7bafa3d-274e-4b0a-b9cc-d898957b4b61 | 
11.bashplotlib
bashplotlib是一個繪圖庫,它允許你使用stdin繪制柱狀圖和散點圖等。
| 1 2 | $ pip install bashplotlib$ scatter --file<span id="0_nwp"style="width: auto; height: auto; float: none;"><a id="0_nwl"href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=c83d3b1ac10215a4&k=data&k0=data&kdi0=0&luki=4&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=a41502c11a3b3dc8&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F5893%2Ehtml&urlid=0"target="_blank"mpid="0"style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">data</span></a></span>/texas.txt --pch x | 

英文原文: 11 Python Libraries You Might Not Know
新聞熱點
疑難解答