在这篇文章中,我们看到了一些鲜为人知但非常有用的 python 库:
虽然很多图书馆都可以在 蟒蛇 对于 DateTime,我发现 Pendulum 在任何日期操作上都很容易使用。 钟摆是我日常工作中最喜欢使用的书柜。 扩展内置的 Python datetime 模块,添加更直观的 API,用于管理时区和执行日期和时间操作,例如添加时间间隔、减去日期和在时区之间转换。 提供用于格式化日期和时间的简单直观的 API。
!pip install pendulum
# import library
import pendulum
dt = pendulum.datetime(2023, 1, 31)
print(dt)
#local() creates datetime instance with local timezone
local = pendulum.local(2023, 1, 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)
你遇到过数据中外文显示不正确的情况吗? 这称为莫吉巴克。 Mojibake 是一个术语,用于描述由于编码或解码问题而出现的乱码或乱码文本。 当使用一种字符编码编写的文本使用不同的编码被错误解码时,通常会发生这种情况。 ftfy python 库将帮助您修复 Mojibake,这在 NLP 用例中非常有用。
!pip 安装 ftfy
print(ftfy.fix_text('使用“ftfy”\x9d 更正句子。')) print(ftfy.fix_text('““文本没有问题”)) print(ftfy.fix_text('Ã perturber la réflexion '))
除了 Mojibake 之外,ftfy 还将修复错误的编码、错误的行尾和错误的引号。 可以理解已解码为以下编码之一的文本:
Sketch 是一款独特的 AI 编码助手,专为在 Python 中使用 pandas 库的用户而设计。 它使用机器学习算法来理解用户数据的上下文,并提供相关的代码建议,使数据操作和分析任务更容易、更高效。 Sketch 不需要用户在他们的 IDE 中安装任何额外的插件,因此使用起来又快又容易。 这可以显着减少数据相关任务所需的时间和精力,并帮助用户编写更好、更高效的代码。
!pip 安装草图
我们需要向 pandas dataframe 添加一个 .sketch 扩展名才能使用这个库。
问 是 Sketch 的一项功能,允许用户以自然语言格式询问有关其数据的问题。 为用户的查询提供基于文本的响应。
# 导入库 import sketch import pandas as pd # 读取数据(以推特数据为例) df = pd.read_csv("tweets.csv") print(df)
# 询问哪些列是类别类型 df.sketch.ask("哪些列是类别类型?")
# 找到数据框的形状 df.sketch.ask("数据框的形状是什么")
.sketch.howto
HOWTO 是一种提供代码块的功能,可用作各种数据相关任务的起点或终点。 我们可以要求代码片段来规范化他们的数据、创建新功能、跟踪数据,甚至构建模型。 这将节省时间并使复制和粘贴代码变得容易; 您不必从头开始手动编写代码。
# 要求提供用于可视化情绪的代码片段 df.sketch.howto("Visualize the emotions")
.sketch.应用
.apply 函数 它有助于生成新功能、解析字段和执行其他数据操作。 要使用此功能,我们需要有一个 OpenAI 帐户并使用 API 密钥来执行任务。 我还没有尝试过这个功能。
我喜欢使用这个库,尤其是 如何 它有效,我发现它很有用。
“pgeocode”是我最近偶然发现的一个优秀的库,它对我的空间分析项目非常有用。 例如,它允许您查找两个邮政编码之间的距离,并通过将国家和邮政编码作为输入来提供地理信息。
!pip 安装 pgeocode
获取特定邮政编码的地理信息
# 检查国家“印度” nomi = pgeocode.Nominatim('In') # 通过传递邮政编码获取地理信息 nomi.query_postal_code(["620018", "620017", "620012"])
“pgeocode”通过将国家和邮政编码作为输入来计算两个邮政编码之间的距离。 结果以公里表示。
# 查找两个邮政编码之间的距离 distance = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")
rembg 是另一个有用的库,可以轻松地从图像中删除背景。
!pip 安装 rembg
# 导入库
from rembg import remove import cv2 # 输入图像的路径(我的文件:image.jpeg) input_path = 'image.jpeg' # 保存输出图像和保存为 output.jpeg 的路径 output_path = 'output.jpeg' # 读取输入image input = cv2.imread(input_path) # 移除背景 output = remove(input) # 保存文件 cv2.imwrite(output_path, output)
您可能已经熟悉其中一些库,但对我来说,Sketch、Pendulum、pgeocode 和 ftfy 对于我的数据工程工作来说是不可或缺的。 我的项目非常依赖它们。
Humanize”为数字、日期和时间提供了简单易读的字符串格式。 该库的目标是获取数据并使其更加用户友好,例如将秒数转换为更易读的字符串,如“2 分钟前”。 该库可以通过多种方式格式化数据,包括用逗号格式化数字、将时间戳转换为相对时间等等。
我经常在我的数据工程项目中使用整数和时间戳。
!pip 安装人性化
# 导入库 import humanize import datetime as dt # 用逗号格式化数字 a = humanize.intcomma(951009) # 将数字转换成单词 b = humanize.intword(10046328394) #printing print(a) print(b)
import humanize import datetime as dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) 打印(a) 打印(b)
Ercole Palmeri