你可能沒聽過的11個Python庫

jopen 9年前發布 | 28K 次閱讀 Python Python開發

目前,網上已有成千上萬個Python包,但幾乎沒有人能夠全部知道它們。單單  PyPi上就有超過47000個包列表。

現在,越來越多的數據科學家開始使用Python,雖然他們從 pandas, scikit-learn, numpy中獲得了不少好處,但我仍想向他們介紹一些年長且非常實用的Python庫。在本文中,我將列一些不太知名的庫,即使你是經驗豐富的Python的開發者,也值得過來一看。

1) delorean

Dolorean是一個非常酷的日期/時間庫。類似JavaScript的moment,擁有非常完善的技術文檔。

1
2
3
fromdeloreanimportDelorean
EST="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
fromprettytableimportPrettyTable
table=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   |
+----------------------+----------+

3.snowballstemmer

好吧,我也是首次安裝該庫。這是一款非常瘦小的語言轉換庫,支持15種語言。

1
2
3
4
5
fromsnowballstemmerimportEnglishStemmer, SpanishStemmer
EnglishStemmer().stemWord("Gregory")
# Gregori
SpanishStemmer().stemWord("amarillo")
# amarill

4.wget

你是否還記得,每一次都會因為某個目的而編寫網絡爬蟲工具,以后再也不用了,因為wget就足夠你使用了。wget是Python版的網絡爬蟲庫,簡單好用。

1
2
3
importwget
wget.download(" http://www.cnn.com/")
# 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.examplesimportdisaster_model
frompymcimportMCMC
M=MCMC(disaster_model)
M.sample(iter=10000, burn=1000, thin=10)
[-----------------100%-----------------]10000of10000completein1.4sec

6.sh

sh庫用來將shell命令作為函數導入到Python中。在bash中使用是非常實用的,但是在Python中不容易記住怎么使用(即遞歸搜索文件)。

1
2
3
4
5
6
7
fromshimportfind
find("/tmp")
/tmp/foo
/tmp/foo/file1.json
/tmp/foo/file2.json
/tmp/foo/file3.json
/tmp/foo/bar/file3.json

7.fuzzywuzzy

Fuzzywuzzy是一個可以對字符串進行模糊匹配的庫,大家有空可以去 查看源碼

1
2
3
fromfuzzywuzzyimportfuzz
fuzz.ratio("Hit me with your best shot","Hit me with your pet shark")
# 85

8.progressbar

progressbar是一個進度條庫,該庫提供了一個文本模式的progressbar。

1
2
3
4
5
6
7
8
fromprogressbarimportProgressBar
importtime
pbar=ProgressBar(maxval=10)
foriinrange(1,11):
    pbar.update(i)
    time.sleep(1)
pbar.finish()
# 60% |########################################################                                      |

9.colorama

colorama主要用來給文本添加各種顏色,并且非常簡單易用。

 你可能沒聽過的11個Python庫

10.uuid

uuid是基于Python實現的UUID庫,它實現了UUID標注的1,3,4和5版本,在確保唯一性上真的非常方便。

1
2
3
importuuid
printuuid.uuid4()
# e7bafa3d-274e-4b0a-b9cc-d898957b4b61

11.bashplotlib

bashplotlib是一個繪圖庫,它允許你使用stdin繪制柱狀圖和散點圖等。

1
2
$ pip install bashplotlib
$ scatter--file<spanid="0_nwp"style="width: auto; height: auto; float: none;"><aid="0_nwl"href="

 你可能沒聽過的11個Python庫

英文原文: 11 Python Libraries You Might Not Know

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!