<返回更多

5个有趣的Python库

2020-05-14    
加入收藏
5个有趣的Python库

> Photo by JOSHUA COLEMAN on Unsplash

 

您是否曾经想到过数据可视化可以在命令行中进行?

作为最流行的编程语言之一,Python拥有大量促进开发的优秀库,例如Pandas,Numpy,Matplotlib,SciPy等。

但是,在本文中,我将向您介绍一些更有趣而不是非常有用的库。 我相信这些库可以显示Python的另一个方面以及社区的繁荣发展。

1. Bashplotlib

老实说,当我第一次看到这个库时,我问为什么人们可能需要这个? Bashplotlib是一个Python库,使我们能够在命令行标准输出环境中绘制数据。

很快,我意识到当您没有可用的GUI时,它可能会很有用。 嗯,这种情况可能不会那么频繁,但这并不能阻止我的好奇心,并认为它是一个非常有趣的Python库。

Bashplotlib可以通过pip轻松安装。

pip install bashplotlib

我们来看一些例子。 在下面的代码中,我当然导入了numpy来生成一些随机数组以及bashplotlib。

import numpy as np

from bashplotlib.histogram import plot_hist

arr = np.random.normal(size=1000, loc=0, scale=1)

plot_hist(arr, bincount=50)

输出是这样的

5个有趣的Python库

 

那不是很有趣吗? :)

此外,您可以将数据绘制成文本文件中的散点图。

5个有趣的Python库

 

2. PrettyTable

我刚刚介绍的Bashplotlib是用于在命令行环境中绘制数据,而PrettyTable是用于以漂亮格式输出表的。

同样,我们可以使用pip轻松安装此库。

pip install 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)

5个有趣的Python库

 

PrettyTable还支持您可能想到的几乎每个角度的表样式改进。 例如,您可以在表格中右对齐文本:

table.align = 'r'print(table)

5个有趣的Python库

 

按列对表格排序

table.sortby = "City"

print(table)

5个有趣的Python库

 

您甚至可以获取表的html字符串

5个有趣的Python库

 

3. FuzzyWuzzy

我认为该库不仅非常有趣,而且非常有用。 很多时候,您可能想为程序实现"模糊"搜索功能。 FuzzyWuzzy为此提供了一个现成的轻量级解决方案。

照常从pip安装它。

pip install fuzzywuzzy

导入库:

from fuzzywuzzy import fuzz

让我们做一个简单的测试。

fuzz.ratio("Let's do a simple test", "Let us do a simple test")

5个有趣的Python库

 

如图所示,结果" 93"表示这两个字符串具有93%的相似度,这非常高。

当您有一个字符串列表,并且想要针对所有字符串搜索一个术语时,FuzzyWuzzy将帮助您提取具有相似性的最相关的字符串。

from fuzzywuzzy import process

choices = ["Data Visualisation", "Data Visualization", "Customised Behaviours", "Customized Behaviors"]

process.extract("data visulisation", choices, limit=2)

process.extract("custom behaviour", choices, limit=2)

5个有趣的Python库

 

在上面的示例中,参数限制告诉FuzzyWuzzy为您提取"前n个"结果。 否则,您将获得具有所有这些原始字符串及其相似性分数的元组列表。

4. TQDM

您通常使用Python开发命令行工具吗? 如果是这样,当您的CLI工具正在处理一些耗时的事情时,此有趣的库将通过显示进度栏指示已完成的工作量来为您提供帮助。

再次使用pip安装。

pip install tqdm

当使用范围函数进行for循环时,只需将其替换为tqdm中的trange。

from tqdm import trange

for i in trange(100):

sleep(0.01)

5个有趣的Python库

 

更一般而言,您可能想循环一个列表。 使用tqdm也很容易。

from tqdm import tqdm

for e in tqdm([1,2,3,4,5,6,7,8,9]):

sleep(0.5)

# Suppose we are doing something with the elements

5个有趣的Python库

 

tqdm不仅适用于命令行环境,而且适用于iPython / Jupyter Notebook。

5个有趣的Python库

> image courtesy: https://github.com/tqdm/tqdm

 

5.Colorama

您是否要向命令行应用程序添加一些颜色? Colorama使您可以轻松输出所需颜色的所有内容。

重新安装Colorama需要点子。

pip install colorama

Colorama支持以"前景"(文本颜色),"背景"(背景颜色)和"样式"(颜色的其他样式)呈现输出文本颜色。 我们可以导入

from colorama import Fore, Back, Style

首先,让我们用黄色显示一些警告。

print(Fore.YELLOW)

print("This is a warning!")

5个有趣的Python库

 

然后,让我们尝试使用红色背景色显示一些错误。

print(Back.RED + Fore.WHITE + "This is an error!")

5个有趣的Python库

 

那红色太亮了。 让我们使用"昏暗"风格。

print(Back.RESET + Style.DIM + "Another error!")

在这里,我们将" RESET"设置为返回以将背景色更改为默认值。

5个有趣的Python库

 

" DIM"样式使字体不可见。 当我们要将所有内容恢复为正常时,只需将"样式"设置为" RESET_ALL"

print(Style.RESET_ALL)

5个有趣的Python库

 

摘要

感谢这些为Python社区做出贡献并蓬勃发展的开源开发人员。

在我看到Bashplotlib库之前,我不得不说,我从来没有这样的想法在命令行环境中绘制数据。 无论对您有用还是无效,我都想说人们的发展思想和创造力的多样性永远不会停止。

寿命短,请使用Python!

(本文翻译自Christopher Tao的文章《5 Interesting Python Libraries》,参考:https://towardsdatascience.com/5-interesting-python-libraries-1395c791deb5)

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>