用品

驚人但鮮為人知的 Python 庫

Python 程序員總是在尋找新的庫,以改進數據工程和商業智能項目的工作。

在這篇文章中,我們看到了一些鮮為人知但非常有用的 python 庫:

1. 擺錘

雖然很多圖書館都可以在 蟒蛇 對於 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)
產量

2. 飛飛

你遇到過數據中外文顯示不正確的情況嗎? 這稱為莫吉巴克。 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 還將修復錯誤的編碼、錯誤的行尾和錯誤的引號。 可以理解已解碼為以下編碼之一的文本:

  • Latin-1 (ISO-8859–1)
  • Windows-1252(cp1252——用於微軟產品)
  • Windows-1251(cp1251 — cp1252 的俄語版本)
  • Windows-1250(cp1250 — cp1252 的東歐版本)
  • ISO-8859–2(與 Windows-1250 不完全相同)
  • MacRoman(用於 Mac OS 9 及更早版本)
  • cp437(用於 MS-DOS 和某些版本的 Windows 命令提示符)

3. 素描

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 密鑰來執行任務。 我還沒有嘗試過這個功能。

我喜歡使用這個庫,尤其是 如何 它有效,我發現它很有用。

4. 地理編碼

“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")
產量

5.雷姆格

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 對於我的數據工程工作來說是不可或缺的。 我的項目非常依賴它們。

6. 人性化

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

創新通訊
不要錯過有關創新的最重要新聞。 註冊以通過電子郵件接收它們。
標籤: 蟒蛇

最近的文章

線上支付:串流服務如何讓您永遠付款

數百萬人為串流媒體服務付費,每月支付訂閱費用。人們普遍認為您...

29月2024

Veeam 為勒索軟體提供最全面的支持,從保護到回應和恢復

Veeam 的 Coveware 將繼續提供網路勒索事件回應服務。 Coveware 將提供取證和修復功能…

23月2024

綠色與數位革命:預測性維護如何改變石油和天然氣產業

預測性維護正在透過創新和主動的工廠管理方法徹底改變石油和天然氣行業。

22月2024

英國反壟斷監管機構對 GenAI 向 BigTech 發出警報

英國 CMA 對大型科技公司在人工智慧市場的行為發出了警告。那裡…

18月2024