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