您好,登錄后才能下訂單哦!
本篇內容介紹了“有哪些有趣的Python庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1. Bashplotlib
Bashplotlib是一個Python庫,使得能夠在命令行stdout環境中繪制數據。老實說,第一次看到這個庫的時候,筆者很疑惑,我們為什么可能會需要這樣的庫?
很快筆者就意識到,當沒有任何可用的GUI時,它可能會很有用。這個情況可不太常見,它引起了筆者的好奇心。我這是一個非常有趣的Python庫。
使用pip就可以很容易地安裝Bashplotlib:
pipinstall bashplotlib
來看一些例子。在下面的代碼中,導入了numpy來生成一些隨機數組,當然還有bashplotlib。
importnumpy as np from bashplotlib.histogram import plot_hist arr = np.random.normal(size=1000, loc=0, scale=1)
plot_hist是bashplotlib的一個函數,用于在直方圖中繪制一維數據,就像plt.hist在Matplotlib中的功能一樣。然后,使用Numpy生成一個包含1,000個服從正態分布的數字組成的隨機數組。在此之后,可以很容易地繪制這些數據:
plot_hist(arr, bincount=50)
輸出就像這樣:
你也可以從文本文件中用散點圖來繪制數據。
2. PrettyTable
Bashplotlib在命令行環境中繪制數據,而PrettyTable以一種好看的格式繪制輸出結果表。
同樣的,使用pip可以很容易地安裝這個庫:
pipinstall prettytable
首先,導入這個庫:
from prettytable import PrettyTable
然后,使用PrettyTable創建表格對象:
table =PrettyTable()
一旦創建表格對象,就可以開始添加域和數據列了:
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還支持改進表格樣式,幾乎包括可以想到的任何方面。例如,我們可以右對齊表格中的文字:
table.align= 'r' print(table)
按列對表格排序:
table.sortby= "City" print(table)
甚至可以得到表格的HTML字符串
3. Colorama
想為命令行應用程序添加一些顏色嗎?Colorama可以很容易地輸出你喜歡的顏色。
再一次使用pip安裝Colorama:
Colorama支持在“前景”(文本顏色)、“背景”(背景顏色)和“風格”(額外的風格的顏色)中支持渲染輸出顏色。可以導入:
fromcolorama import Fore, Back, Style
首先使用黃色顯示一些警告:
然后嘗試使用紅色背景顯示一些錯誤:
print(Back.RED+ Fore.WHITE + "This is an error!")
紅色太艷了。使用“dim”風格。
print(Back.RESET+ Style.DIM + "Another error!")
此處設置“RESET”改變背景顏色為默認。
“DIM”樣式使字體不可見。若想把所有東西都恢復正常時,只需將“Style”設置為“RESET_ALL”:
print(Style.RESET_ALL)
4. FuzzyWuzzy
很多時候,你可能想為程序實現一個“模糊”搜索功能,FuzzyWuzzy提供了一個開箱即用的輕量級解決方案。
和再去一樣,使用pip安裝:
pip installfuzzywuzzy
導入庫:
fromfuzzywuzzy import fuzz
做個簡單的測試:
fuzz.ratio("Let’sdo a simple test", "Let us do a simple test")
如結果所示,“93”表示這兩個字符串有93%的相似性,這相當高了。
當有一個字符串列表,想要搜索所有的字符串,FuzzyWuzzy將幫助提取最相關的字符串及其相似性。
fromfuzzywuzzy import processchoices = ["Data Visualisation", "DataVisualization", "Customised Behaviours", "CustomizedBehaviors"]process.extract("data visulisation", choices,limit=2) process.extract("custom behaviour", choices, limit=2)
在上面的示例中,參數limit告訴FuzzyWuzzy提取“前n個”結果。否則將獲得具有所有這些原始字符串及其相似性分數的元組列表。
5. TQDM
你通常會使用Python來開發命令行工具嗎?如果是的話一定要試試這個庫。當CLI工具處理一些耗時的事情時,它將通過顯示一個進度條來指示完成了多少工作,幫助你了解情況。
老辦法,使用pip安裝:
pipinstall tqdm
當for循環使用range函數時,只是把它替換為tqdm中的trange即可。
fromtqdm import trangefor i in trange(100): sleep(0.01)
一般來說,對列表做循環。使用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不僅適用于命令行環境,還適用于iPython / Jupyter Notebook。
“有哪些有趣的Python庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。