Články

Úžasné, ale málo známé knihovny Pythonu

Programátor Pythonu neustále hledá nové knihovny, které mohou zlepšit práci v datovém inženýrství a projektech business intelligence.

V tomto článku vidíme některé málo známé, ale velmi užitečné python knihovny:

1. Kyvadlo

Přestože je k dispozici mnoho knihoven PYTHON pro DateTime považuji Pendulum za snadno použitelné pro jakoukoli operaci s datem. Kyvadlo je moje oblíbená knihovna pro každodenní použití v práci. Rozšiřuje vestavěný modul datetime v Pythonu, přidává intuitivnější API pro správu časových pásem a provádění operací s datem a časem, jako je přidávání časových intervalů, odečítání dat a převod mezi časovými pásmy. Poskytuje jednoduché a intuitivní rozhraní API pro formátování dat a časů.

Instalace
!pip install pendulum
příklad
# 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)
Výstup

2. ftfy

Setkali jste se s tím, že se cizí jazyk v datech nezobrazuje správně? Tomu se říká Mojibake. Mojibake je termín používaný k popisu zkomoleného nebo zašifrovaného textu, ke kterému dochází v důsledku problémů s kódováním nebo dekódováním. Obvykle k němu dochází, když je text napsaný s jedním kódováním znaků nesprávně dekódován pomocí jiného kódování. Knihovna ftfy python vám pomůže opravit Mojibake, což je velmi užitečné v případech použití NLP.

Instalace
!pip install ftfy
příklad
print(ftfy.fix_text('Opravte větu pomocí “ftfyâ€\x9d.')) print(ftfy.fix_text('✔ Žádné problémy s textem')) print(ftfy.fix_text('à perturber la réflexion '))
Výstup

Kromě Mojibake ftfy opraví špatné kódování, špatné konce řádků a špatné uvozovky. může rozumět textu, který byl dekódován jako jedno z následujících kódování:

  • Latin-1 (ISO-8859-1)
  • Windows-1252 (cp1252 – používá se v produktech Microsoft)
  • Windows-1251 (cp1251 — ruská verze cp1252)
  • Windows-1250 (cp1250 — východoevropská verze cp1252)
  • ISO-8859-2 (což není úplně totéž jako Windows-1250)
  • MacRoman (používá se na Mac OS 9 a dřívějších)
  • cp437 (používá se v MS-DOS a některých verzích příkazového řádku Windows)

3 Skica

Sketch je jedinečný asistent kódování AI navržený speciálně pro uživatele pracující s knihovnou pandas v Pythonu. Využívá algoritmy strojového učení k pochopení kontextu uživatelských dat a poskytuje relevantní návrhy kódu pro usnadnění a zefektivnění manipulace s daty a úloh analýzy. Sketch nevyžaduje, aby uživatelé instalovali do svého IDE žádné další zásuvné moduly, takže použití je rychlé a snadné. To může výrazně snížit čas a úsilí potřebné pro úlohy související s daty a pomoci uživatelům psát lepší a efektivnější kód.

Instalace
!pip instalační skica
příklad

Abychom mohli tuto knihovnu používat, musíme do datového rámce pandas přidat rozšíření .sketch.

.nakreslete.zeptejte se

požádat je funkce Sketch, která uživatelům umožňuje klást otázky týkající se jejich dat ve formátu přirozeného jazyka. Poskytuje textovou odpověď na dotaz uživatele.

# Import knihoven import náčrtů import pand jako pd # Čtení dat (pomocí twitterových dat jako příkladu) df = pd.read_csv("tweets.csv") print(df)
# Dotaz, které sloupce jsou typem kategorie df.sketch.ask("Které sloupce jsou typem kategorie?")
Výstup
# Chcete-li najít tvar datového rámce df.sketch.ask("Jaký je tvar datového rámce")

.náčrt.jak na to

howto je funkce, která poskytuje blok kódu, který lze použít jako počáteční nebo koncový bod pro různé úlohy související s daty. Můžeme požádat o úryvky kódu pro normalizaci jejich dat, vytváření nových funkcí, sledování dat a dokonce i vytváření modelů. To ušetří čas a usnadní kopírování a vkládání kódu; nemusíte psát kód ručně od začátku.

# Požadavek na poskytnutí kódu vystřiženého pro vizualizaci emocí df.sketch.howto("Vizualizace emocí")
Výstup

.načrtnout.použít

Funkce .použít pomáhá generovat nové funkce, analyzovat pole a provádět další manipulace s daty. Abychom mohli tuto funkci používat, musíme mít účet OpenAI a k provádění úkolů používat klíč API. Tuto funkci jsem nezkoušel.

Zvláště jsem rád používal tuto knihovnu Přijít funguje to a považuji to za užitečné.

4. pgeokód

„pgeocode“ je vynikající knihovna, na kterou jsem nedávno narazil a která byla neuvěřitelně užitečná pro mé projekty prostorové analýzy. Umožňuje vám například najít vzdálenost mezi dvěma PSČ a poskytuje geografické informace tím, že jako vstup vezme zemi a PSČ.

Instalace
!pip install pgeocode
příklad

Získejte geografické informace pro konkrétní PSČ

# Kontrola země "Indie" nomi = pgeocode.Nominatim('In') # Získání geografických informací předáním PSČ nomi.query_postal_code(["620018", "620017", "620012"])
Výstup

„pgeocode“ vypočítá vzdálenost mezi dvěma PSČ tak, že jako vstup vezme zemi a PSČ. Výsledek je vyjádřen v kilometrech.

# Nalezení vzdálenosti mezi dvěma PSČ vzdálenost = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")
Výstup

5. rembg

rembg je další užitečná knihovna, která snadno odstraňuje pozadí z obrázků.

Instalace
!pip install rembg
příklad
# Import knihoven
from rembg import remove import cv2 # cesta vstupního obrázku (můj soubor: image.jpeg) input_path = 'image.jpeg' # cesta pro uložení výstupního obrázku a uložení jako output.jpeg output_path = 'output.jpeg' # Čtení vstupu image input = cv2.imread(input_path) # Odebrání výstupu na pozadí = remove(input) # Uložení souboru cv2.imwrite(output_path, output)
Výstup

Některé z těchto knihoven už možná znáte, ale pro mě jsou Sketch, Pendulum, pgeocode a ftfy nepostradatelné pro mou práci v oblasti datového inženýrství. Při svých projektech na ně hodně spoléhám.

6. Humanizovat

Humanize“ poskytuje jednoduché, snadno čitelné formátování řetězců pro čísla, data a časy. Cílem knihovny je převzít data a učinit je uživatelsky přívětivějšími, například převedením počtu sekund na čitelnější řetězec jako „před 2 minutami“. Knihovna může formátovat data různými způsoby, včetně formátování čísel s čárkami, převodu časových razítek na relativní časy a dalších.

Pro své projekty datového inženýrství často používám celá čísla a časová razítka.

Instalace
!pip nainstalovat humanizovat
Příklad (celá čísla)
# Import knihovny import humanize import datetime as dt # Formátování čísel s čárkou a = humanize.intcomma(951009) # převod čísel na slova b = humanize.intword(10046328394) #printing print(a) print(b)
Výstup
Příklad (datum a čas)
import humanize import datetime as dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) print(a) print(b)

Ercole Palmeri

Inovační zpravodaj
Nenechte si ujít nejdůležitější novinky o inovacích. Přihlaste se k jejich odběru e-mailem.
Tagy: krajta

Nedávné články

Budoucnost je tady: Jak lodní průmysl revolucionizuje globální ekonomiku

Námořní sektor je skutečnou globální ekonomickou velmocí, která se dostala na 150miliardový trh...

1. května 2024

Vydavatelé a OpenAI podepisují dohody o regulaci toku informací zpracovávaných umělou inteligencí

Minulé pondělí Financial Times oznámily dohodu s OpenAI. FT licencuje svou prvotřídní žurnalistiku…

30. dubna 2024

Online platby: Zde je návod, jak vám streamovací služby umožňují platit navždy

Miliony lidí platí za streamovací služby a platí měsíční předplatné. Je obecný názor, že jste…

29. dubna 2024

Veeam nabízí nejkomplexnější podporu pro ransomware, od ochrany po reakci a obnovu

Společnost Coveware od společnosti Veeam bude i nadále poskytovat služby reakce na incidenty v oblasti kybernetického vydírání. Coveware nabídne forenzní a sanační schopnosti…

23. dubna 2024