七个令人瞠目结舌的Python库
创始人
2025-07-07 12:31:24
0

在编程的世界中,Python一直以其简洁、易读的语法而备受推崇。然而,除了Python本身的强大功能之外,还有许多令人瞠目结舌的Python库,它们为开发者们带来了无尽的惊喜和创造力。在本文中,笔者为大家分享7个这样的Python库,建议收藏。

1. rembg

rembg是一个强大的Python库,用于图像背景的自动去除。它基于深度学习和人工智能技术,能够高度准确地将图像中的背景抠出,留下前景图像。

安装rembg:

#Installation
pip install rembg

示例:

# Importing libraries
from rembg import remove
import cv2 
# path of input image (my file: image.jpeg)
input_path = 'demo.jpg'
# path for saving output image and saving as a output.jpeg
output_path = 'output.jpg'
# Reading the input image
input = cv2.imread(input_path)
# Removing background
output = remove(input)
# Saving file 
cv2.imwrite(output_path, output)

2. Ipyvolume

Ipyvolume是一个基于Jupyter Notebook的Python库,用于创建交互式的3D可视化和动画。它提供了丰富的功能和工具,使得在Notebook中可视化数据变得更加简单和直观。

示例代码:

from colormaps import parula
X = np.arange(-5, 5, 0.25*1)
Y = np.arange(-5, 5, 0.25*1)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

colormap = parula
znorm = Z - Z.min()
znorm /= znorm.ptp()
znorm.min(), znorm.max()
color = colormap(znorm)
ipv.figure()
mesh = ipv.plot_surface(X, Z, Y, color=color[...,:3])
ipv.show()

3. Pandas-Bokeh

Pandas-Bokeh是一个使用Bokeh为Pandas数据帧提供交互式绘图的库,它对于创建交互式可视化数据非常有用。

安装pandas-bokeh:

pip install pandas-bokeh

交互式可视化效果:

示例代码:

import pandas as pd
import pandas_bokeh

data = {
    'fruits':
    ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries'],
    '2015': [2, 1, 4, 3, 2, 4],
    '2016': [5, 3, 3, 2, 4, 6],
    '2017': [3, 2, 4, 4, 5, 3]
}
df = pd.DataFrame(data).set_index("fruits")

p_bar = df.plot_bokeh.bar(
    ylabel="Price per Unit [€]", 
    title="Fruit prices per Year", 
    alpha=0.6)

4. Humanize

Humanize是一个Python库,旨在将复杂的数据类型和单位转换为更易读的形式,以增加人类可理解性。它提供了一些有用的函数,用于将数字、时间、文件大小等转换为更友好和可读性强的格式。

使用Humanize库,你可以将整数转换为带有逗号的易读形式,例如将1000转换为"1,000";将时间间隔转换为更具描述性的形式,例如将60秒转换为"1分钟";将字节数转换为更易理解的文件大小表示,例如将1024转换为"1KB"。

安装Humanize:

pip install Humanize

示例(integers):

# Importing library

import humanize
import datetime as dt

# Formatting  numbers with comma
a =  humanize.intcomma(951009)

# converting numbers into words
b = humanize.intword(10046328394)

#printing

print(a)
print(b)

输出:

951,009 10.0 billion

示例(Date&Time):

import humanize
import datetime as dt

a = humanize.naturaldate(dt.date(2023, 9,7))
b = humanize.naturalday(dt.date(2023, 9,7))

print(a)
print(b)

输出:

today
today

5. Pendulum

Pendulum扩展了内置的Python DateTime模块,添加了一个更直观的API,用于处理时区,对日期和时间进行操作,如添加时间间隔、删去日期以及在时区之间进行转换。它为格式化日期和时间提供了一个简单、人性化的API。

安装Pendulum:

pip install pendulum

示例:

# import library
import pendulum

dt = pendulum.datetime(2023, 8, 31)
print(dt)
 
#local() creates datetime instance with local timezone

local = pendulum.local(2023, 8, 31)
print("Local Time:", local)
print("Local Time Zone:", local.timezone.name)

# Printing UTC time
utc = pendulum.now('UTC')
print("Current UTC time:", utc)
 
# Converting UTC timezone into Europe/Paris time

europe = utc.in_timezone('Europe/Paris')
print("Current time in Paris:", europe)

输出:

2023-08-31T00:00:00+00:00 

Local Time: 2023-08-31T00:00:00+08:00 

Local Time Zone: Asia/Shanghai Current 

UTC time: 2023-09-07T04:06:05.436553+00:00 

Current time in Paris: 2023-09-07T06:06:05.436553+02:00

6. Sketchpy

Sketchpy是一个用于对图像进行动画绘制的Python模块。sketchpy模块是在Python中的turtle模块之上创建的。

安装Sketchpy:

pip install sketchpy

示例-使用 Python 绘制 Vijay:

from sketchpy import library
myObject = library.vijay()
myObject.draw()

7. FTFY

FTFY是一个Python库,它的全称是"Fixes Text For You",用于修复和纠正文本中的常见编码问题和Unicode字符问题。它可以自动检测和修复各种编码问题,使得文本在处理和显示时更加准确和一致。

安装FTFY:

pip install ftfy

示例:

print(ftfy.fix_text('Correct the sentence using “ftfyâ€\x9d.'))
print(ftfy.fix_text('✔ No problems with text'))
print(ftfy.fix_text('à perturber la réflexion'))

输出:

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...