欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

11個(gè)并不被常用但對(duì)開(kāi)發(fā)非常有幫助的Python庫(kù)

 更新時(shí)間:2015年03月31日 14:43:43   作者:Greg  
這篇文章主要介紹了11個(gè)并不被常用但對(duì)開(kāi)發(fā)非常有幫助的Python庫(kù),這些庫(kù)大都被放在Github上開(kāi)源、并且經(jīng)過(guò)一段時(shí)間的編寫和維護(hù),對(duì)Python開(kāi)發(fā)有一定的幫助,需要的朋友可以參考下

近來(lái),越來(lái)越多的數(shù)據(jù)科學(xué)家開(kāi)始使用Python,我不由得想到,盡管他們從pandasscikit-learnnumpy這些庫(kù)中得到了不少好處,但是他們也許錯(cuò)過(guò)了一些也許較老但同樣有幫助的Python庫(kù)。

在這篇博文里,我將給大家推薦一些鮮為人知的庫(kù)。即便你是Python高手,也應(yīng)該看一看,其中的一到兩個(gè)庫(kù)可能是你從沒(méi)見(jiàn)過(guò)的。
1)Delores

Dolorean是一個(gè)很酷的日期/時(shí)間庫(kù)。除了名字好聽(tīng)之外,也是一個(gè)我曾用過(guò)的最舒心的日期/時(shí)間修改庫(kù)。它有點(diǎn)像javascript的moment庫(kù),每次我導(dǎo)入它的時(shí)候都會(huì)想笑。文檔也很棒,除了有技術(shù)指導(dǎo)外,他們還引用了《回到未來(lái)》的無(wú)數(shù)內(nèi)容(來(lái)豐富文檔)。
 

from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)

2015331142934459.jpg (300×168)

2)prettytable

這個(gè)包被放到了GoogleCode上,所以你可能沒(méi)聽(tīng)說(shuō)過(guò)。GoogleCode現(xiàn)在就像西伯利亞一樣荒涼。

盡管它被流放到了一個(gè)冰天雪地、荒無(wú)人煙的地方,prettytable仍舊是最棒的結(jié)構(gòu)化輸出的庫(kù),它能在終端或?yàn)g覽器里構(gòu)建良好的輸出。因此,如果你正在用 IPython Notebook的新插件,建議你用prettytable來(lái)代替__repr__進(jìn)行HTML輸出。
 

from prettytable import PrettyTable
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

我當(dāng)初裝snowballstemmer,是因?yàn)槲矣X(jué)得這個(gè)名字很酷炫。但它的確是一個(gè)小巧好使的包。snowballstemmer通過(guò)porter stemmer算法來(lái)提取15種語(yǔ)言的單詞詞干。
 
from snowballstemmer import EnglishStemmer, SpanishStemmer
EnglishStemmer().stemWord("Gregory")
# Gregori
SpanishStemmer().stemWord("amarillo")
# amarill
4)wget

還記得你每次都為特定的目標(biāo)寫web爬蟲(chóng)么?以后我們可以用其他辦法來(lái)完成了,那就是wget.想要以遞歸的方式下載所有頁(yè)面?想要抓取頁(yè)面上的每張圖?想要避免cookie追蹤?wget可以給你想要的一切。

馬克·扎格伯格的電影里它自己都說(shuō)

    從柯克蘭(寢室名)開(kāi)始,這里的一切公共目錄都是公開(kāi)的,還允許在Apache系統(tǒng)里插入目錄。所以用個(gè)wget就能下載柯克蘭全部的照片庫(kù)里的圖片了。易如反掌!

2015331143026217.jpg (253×199)

    這個(gè)頁(yè)面有你想問(wèn)的關(guān)于這個(gè)庫(kù)的一切問(wèn)題,而且它很易用。
 

import wget
wget.download("<a )
# 100% [............................................................................] 280385 / 280385

linux和osx的用戶還會(huì)用到另一個(gè)選項(xiàng):from sh import wget。不過(guò)Python wget模塊還有更好的參數(shù)處理。
5)PyMC

我不記得是怎么得到PyMC包的了。scikit-learn似乎是所有人的寵兒(它應(yīng)得的,它太出色了),但是依我看來(lái),PyMC更有魅力。
 

from pymc.examples import disaster_model
from pymc import MCMC
M = MCMC(disaster_model)
M.sample(iter=10000, burn=1000, thin=10)
[-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec

你還不清楚它是干嘛的?那我告訴你,PyMC主要用來(lái)做貝葉斯定理分析。它的特點(diǎn)在Cam Davidson-Pilon的Bayesian Methods for Hackers里著重介紹過(guò),它在許多流行的數(shù)據(jù)科學(xué)/python博客上也是一顆閃耀的鉆石,但是它從來(lái)沒(méi)得到過(guò)像它的同類scikit-learn一樣的狂熱追捧。
6)sh

我不能在你還不知道sh庫(kù)的情況下,就讓你離開(kāi)。sh用來(lái)將shell命令導(dǎo)入到Python中。在bash它超有用,但在Python里你可能就不住怎么使用(即遞歸搜索文件)。
 

from sh import find
find("/tmp")
/tmp/foo
/tmp/foo/file1.json
/tmp/foo/file2.json
/tmp/foo/file3.json
/tmp/foo/bar/file3.json

7)fuzzywuzzy

這是我用過(guò)的能排在前十里的最簡(jiǎn)單的庫(kù)。(如果你有2、3分鐘,你可以讀一下這個(gè)資源),fuzzywuzzy 是一個(gè)字符串模糊匹配的庫(kù),它由SeatGeek上的開(kāi)發(fā)者建立。

fuzzywuzzy實(shí)現(xiàn)了字符串的相似率,令牌比和許多其他的匹配模式。它也可以用來(lái)創(chuàng)建特征向量或者匹配不同數(shù)據(jù)庫(kù)的記錄。
 

from fuzzywuzzy import fuzz
fuzz.ratio("Hit me with your best shot", "Hit me with your pet shark")
# 85

8)progressbar

在你調(diào)用__main__循環(huán)的時(shí)候,你用過(guò)print "still going...” 這樣的提示么?你知道么,這樣會(huì)感覺(jué)特別low。想要找東西替代它么?為什么不用progressbar來(lái)提升你游戲的檔次呢?

如你所想,progressbar在針對(duì)精確數(shù)據(jù)的時(shí)候效果很好,它提供了一個(gè)文本模式的progressbar。但即便是一個(gè)變動(dòng)的不精確數(shù)據(jù),使用它也比用那些很長(zhǎng)的腳本好。

唉,這又是一個(gè)GoogleCode的犧牲品,它沒(méi)有受到太多關(guān)注(文檔有兩個(gè)空格的縮進(jìn))。用pip install可以安裝它。
 

from progressbar import ProgressBar
import time
pbar = ProgressBar(maxval=10)
for i in range(1, 11):
 pbar.update(i)
 time.sleep(1)
pbar.finish()
# 60% |########################################################          |

9)colorama

在你用progressbar打印日志時(shí),為什么不給它們加上顏色呢!實(shí)際上,當(dāng)出現(xiàn)重大錯(cuò)誤時(shí),它能很快的給你提醒。

colorama很容易使用。只要把它寫進(jìn)你的腳本,添加到想要打印的文本之前:

colorama-red
10)uuid

對(duì)于我來(lái)說(shuō),編程中真正需要的工具只有那么幾個(gè):哈希,鍵值對(duì)存儲(chǔ),和通用唯一標(biāo)識(shí)符。uuid就是Python的一個(gè)UUID包。它實(shí)現(xiàn)了UUID standards標(biāo)準(zhǔn)的1,3,4,5版本。在確保唯一性上真的很方便。

這聽(tīng)起來(lái)可能會(huì)有點(diǎn)傻,但你有多少次想要給市場(chǎng)營(yíng)銷的(銷售貨物)加上唯一的促銷代碼?或著給e-mail收件人加上唯一的id號(hào)?

如果你擔(dān)心耗盡ids,完全不用!UUID的可以生成原子數(shù)據(jù)。
 

import uuid
print uuid.uuid4()
# e7bafa3d-274e-4b0a-b9cc-d898957b4b61

2015331143107358.jpg (298×300)

如果你是UUID,你可能會(huì)這么想~~~~~
11)bashplotlib

不要臉的毛遂自薦一下,bashplotlib是我創(chuàng)建的一個(gè)庫(kù)。它通過(guò)標(biāo)準(zhǔn)輸入繪制出柱狀圖和散點(diǎn)圖。當(dāng)然,你不需要考慮用它來(lái)替代ggplot或matplotlib來(lái)作為你每天繪圖的包,只要作為新奇玩意試試就好。但至少,你可以使用它把你的日志文件弄的好看點(diǎn)。
 

$ pip install bashplotlib
$ scatter --file data/texas.txt --pch x

2015331143204120.jpg (284×300)

相關(guān)文章

  • Python實(shí)現(xiàn)哲學(xué)家就餐問(wèn)題實(shí)例代碼

    Python實(shí)現(xiàn)哲學(xué)家就餐問(wèn)題實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)哲學(xué)家就餐問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 解決nohup執(zhí)行python程序log文件寫入不及時(shí)的問(wèn)題

    解決nohup執(zhí)行python程序log文件寫入不及時(shí)的問(wèn)題

    今天小編就為大家分享一篇解決nohup執(zhí)行python程序log文件寫入不及時(shí)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 詳解Python IO口多路復(fù)用

    詳解Python IO口多路復(fù)用

    這篇文章主要介紹了Python IO口多路復(fù)用的的相關(guān)資料,文中講解的非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下
    2020-06-06
  • python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)

    python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)

    這篇文章主要介紹了python結(jié)合google api完成的翻譯軟件實(shí)現(xiàn)代碼,大家參考使用
    2013-11-11
  • 圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別

    圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別

    這篇文章主要介紹了Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別,淺拷貝和深拷貝想必大家在學(xué)習(xí)中遇到很多次,這也是面試中常常被問(wèn)到的問(wèn)題,本文就帶你詳細(xì)了解一下
    2023-05-05
  • Pytorch?nn.Dropout的用法示例詳解

    Pytorch?nn.Dropout的用法示例詳解

    這篇文章主要介紹了Pytorch?nn.Dropout的用法,本文通過(guò)示例代碼介紹的非常詳細(xì),文中補(bǔ)充介紹了torch.nn.dropout和torch.nn.dropout2d的區(qū)別,需要的朋友可以參考下
    2023-04-04
  • 用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程

    用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程

    這篇文章主要介紹了用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程,主要用到了pandas和collections庫(kù),需要的朋友可以參考下
    2015-03-03
  • Python一直報(bào)錯(cuò)SyntaxError:invalid?syntax的解決辦法

    Python一直報(bào)錯(cuò)SyntaxError:invalid?syntax的解決辦法

    SyntaxError: invalid syntax 這個(gè)報(bào)錯(cuò)經(jīng)常遇見(jiàn),但是總感覺(jué)自己的代碼沒(méi)有問(wèn)題,根據(jù)報(bào)錯(cuò)提示的行也找不到錯(cuò)誤,這些情況以及解決方法都有哪些呢?這篇文章主要給大家介紹了關(guān)于Python一直報(bào)錯(cuò)SyntaxError:invalid?syntax的解決辦法,需要的朋友可以參考下
    2022-09-09
  • pandas實(shí)現(xiàn)選取特定索引的行

    pandas實(shí)現(xiàn)選取特定索引的行

    下面小編就為大家分享一篇pandas實(shí)現(xiàn)選取特定索引的行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python中方法的缺省參數(shù)問(wèn)題解讀

    Python中方法的缺省參數(shù)問(wèn)題解讀

    這篇文章主要介紹了Python中方法的缺省參數(shù)問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論