Biblioteci python interesante pentru ingineria datelor și NLP
Am folosit Python pe scară largă în ultimii cinci ani. Drept urmare, sunt mereu în căutarea unor biblioteci uimitoare care să-mi îmbunătățească munca în proiecte de Inginerie a datelor și Business Intelligence. În trecut, am împărtășit două articole, Five Cool Python Libraries for Data Science și Six cool Python Libraries cu care am întâlnit recent.
În acest articol, împărtășesc alte șase biblioteci uimitoare Python pe care le folosesc acum la locul meu de muncă.
1. Umanizați
Humanize” oferă o formatare simplă și ușor de citit pentru numere, date și ore. Scopul bibliotecii este să preia date și să le facă mai prietenoase pentru oameni, de exemplu, prin conversia unui număr de secunde într-un șir mai ușor de citit, cum ar fi „acum 2 minute”. Biblioteca poate formata datele în diverse moduri, inclusiv formatarea numerelor cu virgule, conversia marcajelor de timp în timpi relative și multe altele.
Folosesc frecvent numere întregi și data și ora pentru proiectele mele de inginerie a datelor.
Instalare
!pip install humanize
Exemplu (numere întregi)
# Importing library import humanize import datetime as dt # Formatting numbers with comma a = humanize.intcomma(951009) # converting numbers into words b = humanize.intword(10046328394) #printing print(a) print(b)
Ieșire
Exemplu (data și ora)
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)
Ieșire
Pentru mai multe opțiuni de formatare, vă rugăm să verificați „aici”.
2. Pendul
Deși multe biblioteci sunt disponibile în Python pentru DateTime, consider că Pendulum este ușor de utilizat pentru orice operațiune a datelor. Un pendul este biblioteca mea preferată pentru utilizarea mea zilnică la serviciu. Extinde modulul Python datetime încorporat, adăugând un API mai intuitiv pentru gestionarea fusurilor orare și efectuarea de operațiuni pe date și ore, cum ar fi adăugarea de intervale de timp, scăderea datelor și conversia între fusurile orare. Oferă un API simplu, prietenos cu oamenii pentru formatarea datelor și orelor.
Instalare
!pip install pendulum
Exemplu
# 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)
Ieșire
Trebuie să scriu un blog separat pentru această bibliotecă, arătând câteva exemple aici. Pentru mai multe formatări, vă rugăm să verificați „aici”.
3. ftfy
Ați întâlnit când limba străină prezentă în date nu apare corect? Acesta se numește Mojibake. Mojibake este un termen folosit pentru a descrie textul confuz sau amestecat care apare ca urmare a problemelor de codificare sau decodare. Apare de obicei atunci când textul care a fost scris într-o codificare de caractere este decodat incorect folosind o altă codificare. Biblioteca ftfy python vă va ajuta să reparați Mojibake, care este foarte util în cazurile de utilizare a NLP.
Instalare
!pip install ftfy
Exemplu
print(ftfy.fix_text('Correct the sentence using “ftfyâ€\x9d.')) print(ftfy.fix_text('✔ No problems with text')) print(ftfy.fix_text('à perturber la réflexion'))
Ieșire
În afară de Mojibake, ftfy va repara codificările incorecte, terminațiile incorecte ale liniilor și ghilimele incorecte. „Conform documentației”, ftfy poate înțelege textul care a fost decodat ca oricare dintre următoarele codificări:
- Latin-1 (ISO-8859–1)
- Windows-1252 (cp1252 — utilizat în produsele Microsoft)
- Windows-1251 (cp1251 — versiunea rusă a cp1252)
- Windows-1250 (cp1250 — versiunea est-europeană a cp1252)
- ISO-8859–2 (care nu este chiar la fel cu Windows-1250)
- MacRoman (utilizat pe Mac OS 9 și versiuni anterioare)
- cp437 (utilizat în MS-DOS și în unele versiuni ale promptului de comandă Windows)
Pentru mai multe detalii, vă rugăm să verificați documentația „aici”.
4. Schiță
Schița este un asistent unic de scriere a codurilor AI, conceput special pentru utilizatorii care lucrează cu biblioteca panda în Python. Utilizează algoritmi de învățare automată pentru a înțelege contextul datelor utilizatorului și oferă sugestii relevante de cod pentru a face manipularea datelor și sarcinile de analiză mai ușoare și mai eficiente. Sketch nu solicită utilizatorilor să instaleze pluginuri suplimentare în IDE-ul lor, ceea ce face ca acesta să fie rapid și ușor de utilizat. Acest lucru poate reduce mult timpul și efortul necesar pentru sarcinile legate de date și poate ajuta utilizatorii să scrie cod mai bun și mai eficient.
Instalare
!pip install sketch
Exemplu
Trebuie să adăugăm o extensie .sketch la cadrul de date Pandas pentru a folosi această bibliotecă.
.sketch.ask
ask este o caracteristică a Sketch care permite utilizatorilor să pună întrebări despre datele lor într-un format de limbaj natural. Oferă un răspuns bazat pe text la interogarea utilizatorului.
# Importing libraries import sketch import pandas as pd # Reading the data (using twitter data as an example) df = pd.read_csv("tweets.csv") print(df)
# Asking which columns are category type df.sketch.ask("Which columns are category type?")
Ieșire
# To find the shape of the dataframe df.sketch.ask("What is the shape of the dataframe")
.sketch.howto
howto este o caracteristică care oferă un bloc de cod care poate fi folosit ca punct de plecare sau concluzie pentru diferite sarcini legate de date. Putem cere fragmente de cod pentru a-și normaliza datele, pentru a crea funcții noi, a trasa date și chiar pentru a construi modele. Acest lucru va economisi timp și va copia și lipi ușor codul; nu trebuie să scrieți codul manual de la zero.
# Asking to provide code snipped for visualising the emotions df.sketch.howto("Visualize the emotions")
Ieșire
.sketch.apply
Funcția .apply ajută la generarea de noi funcții, la analizarea câmpurilor și la efectuarea altor manipulări de date. Pentru a folosi această funcție, trebuie să avem un cont OpenAI și să folosim cheia API pentru a efectua sarcinile. Nu am încercat această funcție.
Mi-a plăcut să folosesc această bibliotecă, în special funcția howto, și o consider utilă.
Vă rugăm să verificați acest „Github” pentru mai multe despre Sketch.
5. pgeocode
„pgeocode” este o bibliotecă excelentă pe care am întâlnit-o recent, care a fost incredibil de utilă pentru proiectele mele de analiză spațială. De exemplu, vă permite să găsiți distanța dintre două coduri poștale și oferă informații geografice luând ca intrări o țară și un cod poștal.
Instalare
!pip install pgeocode
Exemplu
Obținerea de informații geografice pentru anumite coduri poștale
# Checking for country "India" nomi = pgeocode.Nominatim('In') # Getting geo information by passing the postcodes nomi.query_postal_code(["620018", "620017", "620012"])
ieșire
„pgeocode” calculează distanța dintre două coduri poștale luând ca intrări țara și codurile poștale. Rezultatul este dat în kilometri.
# Finding a distance between two postcodes distance = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")
Ieșire
Pentru mai multe informații, vă rugăm să verificați „aici”.
6. rembg
rembg este o altă bibliotecă utilă care elimină cu ușurință fundalul din imagini.
Instalare
!pip install rembg
Exemplu
# Importing libraries from rembg import remove import cv2 # path of input image (my file: image.jpeg) input_path = 'image.jpeg' # path for saving output image and saving as a output.jpeg output_path = 'output.jpeg' # Reading the input image input = cv2.imread(input_path) # Removing background output = remove(input) # Saving file cv2.imwrite(output_path, output)
Ieșire
Poate că sunteți deja familiarizați cu unele dintre aceste biblioteci, dar pentru mine, Sketch, Pendulum, pgeocode și ftfy sunt indispensabile pentru munca mea de inginerie a datelor. Mă bazez foarte mult pe ei pentru proiectele mele.
Vă mulțumim că ți-ai acordat timp pentru a citi acest lucru. Mi-ar plăcea să aud gândurile și opiniile dvs., așa că nu ezitați să lăsați un comentariu. Dacă aveți ceva de adăugat, nu ezitați să comentați!
Simțiți-vă liber să vă conectați cu mine pe LinkedIn!
S-ar putea să vă placă și articolul meu anterior Five Cool Python Libraries for Data Science și Six cool Python Libraries cu care am întâlnit recent