本篇內(nèi)容介紹了“有哪些有趣的Python庫”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站從2013年開始,先為北侖等服務(wù)建站,北侖等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為北侖企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1. Bashplotlib
Bashplotlib是一個Python庫,使得能夠在命令行stdout環(huán)境中繪制數(shù)據(jù)。老實說,第一次看到這個庫的時候,筆者很疑惑,我們?yōu)槭裁纯赡軙枰@樣的庫?
很快筆者就意識到,當(dāng)沒有任何可用的GUI時,它可能會很有用。這個情況可不太常見,它引起了筆者的好奇心。我這是一個非常有趣的Python庫。
使用pip就可以很容易地安裝Bashplotlib:
pipinstall bashplotlib
來看一些例子。在下面的代碼中,導(dǎo)入了numpy來生成一些隨機數(shù)組,當(dāng)然還有bashplotlib。
importnumpy as np from bashplotlib.histogram import plot_hist arr = np.random.normal(size=1000, loc=0, scale=1)
plot_hist是bashplotlib的一個函數(shù),用于在直方圖中繪制一維數(shù)據(jù),就像plt.hist在Matplotlib中的功能一樣。然后,使用Numpy生成一個包含1,000個服從正態(tài)分布的數(shù)字組成的隨機數(shù)組。在此之后,可以很容易地繪制這些數(shù)據(jù):
plot_hist(arr, bincount=50)
輸出就像這樣:
你也可以從文本文件中用散點圖來繪制數(shù)據(jù)。
2. PrettyTable
Bashplotlib在命令行環(huán)境中繪制數(shù)據(jù),而PrettyTable以一種好看的格式繪制輸出結(jié)果表。
同樣的,使用pip可以很容易地安裝這個庫:
pipinstall prettytable
首先,導(dǎo)入這個庫:
from prettytable import PrettyTable
然后,使用PrettyTable創(chuàng)建表格對象:
table =PrettyTable()
一旦創(chuàng)建表格對象,就可以開始添加域和數(shù)據(jù)列了:
table.field_names= ['Name', 'Age', 'City'] table.add_row(["Alice", 20, "Adelaide"]) table.add_row(["Bob", 20, "Brisbane"]) table.add_row(["Chris", 20, "Cairns"]) table.add_row(["David", 20, "Sydney"]) table.add_row(["Ella", 20, "Melbourne"])
只需打印就可顯示表格:
print(table)
PrettyTable還支持改進(jìn)表格樣式,幾乎包括可以想到的任何方面。例如,我們可以右對齊表格中的文字:
table.align= 'r' print(table)
按列對表格排序:
table.sortby= "City" print(table)
甚至可以得到表格的HTML字符串
3. Colorama
想為命令行應(yīng)用程序添加一些顏色嗎?Colorama可以很容易地輸出你喜歡的顏色。
再一次使用pip安裝Colorama:
Colorama支持在“前景”(文本顏色)、“背景”(背景顏色)和“風(fēng)格”(額外的風(fēng)格的顏色)中支持渲染輸出顏色??梢詫?dǎo)入:
fromcolorama import Fore, Back, Style
首先使用黃色顯示一些警告:
然后嘗試使用紅色背景顯示一些錯誤:
print(Back.RED+ Fore.WHITE + "This is an error!")
紅色太艷了。使用“dim”風(fēng)格。
print(Back.RESET+ Style.DIM + "Another error!")
此處設(shè)置“RESET”改變背景顏色為默認(rèn)。
“DIM”樣式使字體不可見。若想把所有東西都恢復(fù)正常時,只需將“Style”設(shè)置為“RESET_ALL”:
print(Style.RESET_ALL)
4. FuzzyWuzzy
很多時候,你可能想為程序?qū)崿F(xiàn)一個“模糊”搜索功能,F(xiàn)uzzyWuzzy提供了一個開箱即用的輕量級解決方案。
和再去一樣,使用pip安裝:
pip installfuzzywuzzy
導(dǎo)入庫:
fromfuzzywuzzy import fuzz
做個簡單的測試:
fuzz.ratio("Let’sdo a simple test", "Let us do a simple test")
如結(jié)果所示,“93”表示這兩個字符串有93%的相似性,這相當(dāng)高了。
當(dāng)有一個字符串列表,想要搜索所有的字符串,F(xiàn)uzzyWuzzy將幫助提取最相關(guān)的字符串及其相似性。
fromfuzzywuzzy import processchoices = ["Data Visualisation", "DataVisualization", "Customised Behaviours", "CustomizedBehaviors"]process.extract("data visulisation", choices,limit=2) process.extract("custom behaviour", choices, limit=2)
在上面的示例中,參數(shù)limit告訴FuzzyWuzzy提取“前n個”結(jié)果。否則將獲得具有所有這些原始字符串及其相似性分?jǐn)?shù)的元組列表。
5. TQDM
你通常會使用Python來開發(fā)命令行工具嗎?如果是的話一定要試試這個庫。當(dāng)CLI工具處理一些耗時的事情時,它將通過顯示一個進(jìn)度條來指示完成了多少工作,幫助你了解情況。
老辦法,使用pip安裝:
pipinstall tqdm
當(dāng)for循環(huán)使用range函數(shù)時,只是把它替換為tqdm中的trange即可。
fromtqdm import trangefor i in trange(100): sleep(0.01)
一般來說,對列表做循環(huán)。使用tqdm也很容易。
fromtqdm import tqdm for e in tqdm([1,2,3,4,5,6,7,8,9]): sleep(0.5) # Suppose we are doing something with theelements
tqdm不僅適用于命令行環(huán)境,還適用于iPython / Jupyter Notebook。
“有哪些有趣的Python庫”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!