在這篇文章中,我們看到了一些鮮為人知但非常有用的 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