-- 作者:admin
-- 发布时间:2023/9/20 13:55:15
-- 有趣的Python库
1. rembgrembg是一个强大的Python库,用于图像背景的自动去除。它基于深度学习和人工智能技术,能够高度准确地将图像中的背景抠出,留下前景图像。 「安装rembg」
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. IpyvolumeIpyvolume是一个基于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-BokehPandas-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. HumanizeHumanize是一个Python库,旨在将复杂的数据类型和单位转换为更易读的形式,以增加人类可理解性。它提供了一些有用的函数,用于将数字、时间、文件大小等转换为更友好和可读性强的格式。 使用Humanize库,你可以将整数转换为带有逗号的易读形式,例如将1000转换为"1,000";将时间间隔转换为更具描述性的形式,例如将60秒转换为"1分钟";将字节数转换为更易理解的文件大小表示,例如将1024转换为"1KB"。 「安装Humanize」 pip install Humanize
「示例(integers)」
import humanize
import datetime as dt
a = humanize.intcomma(951009)
b = humanize.intword(10046328394)
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. PendulumPendulum扩展了内置的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. SketchpySketchpy是一个用于对图像进行动画绘制的Python模块。sketchpy模块是在Python中的turtle模块之上创建的。 「安装Sketchpy」 pip install sketchpy
「示例-使用 Python 绘制 Vijay」 from sketchpy import library
myObject = library.vijay()
myObject.draw()
7. FTFYFTFY是一个Python库,它的全称是"Fixes Text For You",用于修复和纠正文本中的常见编码问题和Unicode字符问题。它可以自动检测和修复各种编码问题,使得文本在处理和显示时更加准确和一致。 「安装FTFY」 pip install ftfy
「示例」 print(ftfy.fix_text(\'Correct the sentence using a�?ftfya�\\x9d.\'))
print(ftfy.fix_text(\'a?” No problems with text\'))
print(ftfy.fix_text(\'? perturber la r??flexion\'))
「输出」
|