Articoli

Librerie Python incredibili, ma poco conosciute

Il programmatore Python è sempre alla ricerca di nuove librerie, che possano migliorare il lavoro nei progetti di ingegneria dei dati e business intelligence.

In questo articolo vediamo alcune librerie python poco conosciute, ma molto utili:

1. Pendulum

Sebbene molte librerie siano disponibili in Python per DateTime, trovo Pendulum facile da usare su qualsiasi operazione sulle date. Un pendolo è la mia libreria preferita per il mio uso quotidiano al lavoro. Estende il modulo datetime di Python integrato, aggiungendo un’API più intuitiva per la gestione dei fusi orari e l’esecuzione di operazioni su date e orari come l’aggiunta di intervalli di tempo, la sottrazione di date e la conversione tra fusi orari. Fornisce un’API semplice e intuitiva per la formattazione di date e orari.

Installazione
!pip install pendulum
Esempio
# 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)
Output

2. ftfy

Hai riscontrato quando la lingua straniera presente nei dati non compare correttamente? Questo si chiama Mojibake. Mojibake è un termine usato per descrivere testo confuso o criptato che si verifica a seguito di problemi di codifica o decodifica. In genere si verifica quando il testo scritto con una codifica di caratteri viene decodificato in modo errato utilizzando una codifica diversa. La libreria ftfy python ti aiuterà a correggere Mojibake, che è molto utile nei casi d’uso della PNL.

Installazione
!pip install ftfy
Esempio
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'))
Output

Oltre a Mojibake, ftfy correggerà codifiche errate, terminazioni di riga errate e virgolette errate. può comprendere il testo che è stato decodificato come una delle seguenti codifiche:

  • Latino-1 (ISO-8859–1)
  • Windows-1252 (cp1252 — utilizzato nei prodotti Microsoft)
  • Windows-1251 (cp1251 — la versione russa di cp1252)
  • Windows-1250 (cp1250 — la versione dell’Europa orientale di cp1252)
  • ISO-8859–2 (che non è esattamente uguale a Windows-1250)
  • MacRoman (utilizzato su Mac OS 9 e versioni precedenti)
  • cp437 (utilizzato in MS-DOS e alcune versioni del prompt dei comandi di Windows)

3. Sketch

Lo sketch è un esclusivo assistente per la scrittura di codice AI progettato specificamente per gli utenti che lavorano con la libreria panda in Python. Utilizza algoritmi di apprendimento automatico per comprendere il contesto dei dati dell’utente e fornisce suggerimenti di codice pertinenti per rendere le attività di manipolazione e analisi dei dati più semplici ed efficienti. Sketch non richiede agli utenti di installare plug-in aggiuntivi nel proprio IDE, rendendo l’utilizzo facile e veloce. Ciò può ridurre notevolmente il tempo e lo sforzo necessari per le attività relative ai dati e aiutare gli utenti a scrivere codice migliore e più efficiente.

Installazione
!pip install sketch
Esempio

Dobbiamo aggiungere un’estensione .sketch al frame di dati Pandas per utilizzare questa libreria.

.sketch.ask

ask è una funzionalità di Sketch che consente agli utenti di porre domande sui propri dati in un formato di linguaggio naturale. Fornisce una risposta basata su testo alla query dell’utente.

# 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?")
Output
# To find the shape of the dataframe
df.sketch.ask("What is the shape of the dataframe")

.sketch.howto

howto è una funzionalità che fornisce un blocco di codice che può essere utilizzato come punto di partenza o conclusione per varie attività relative ai dati. Possiamo chiedere frammenti di codice per normalizzare i loro dati, creare nuove funzionalità, tracciare dati e persino costruire modelli. Ciò consentirà di risparmiare tempo e di copiare e incollare facilmente il codice; non è necessario scrivere il codice manualmente da zero.

# Asking to provide code snipped for visualising the emotions
df.sketch.howto("Visualize the emotions")
Output

.sketch.apply

Articoli correlati

La funzione .apply aiuta a generare nuove funzionalità, analizzare i campi ed eseguire altre manipolazioni dei dati. Per utilizzare questa funzione, dobbiamo disporre di un account OpenAI e utilizzare la chiave API per eseguire le attività. Non ho provato questa funzione.

Mi è piaciuto usare questa libreria, in particolare come funziona, e la trovo utile.

4. pgeocode

“pgeocode” è un’eccellente libreria in cui mi sono imbattuto di recente, che è stata incredibilmente utile per i miei progetti di analisi spaziale. Ad esempio, consente di trovare la distanza tra due codici postali e fornisce informazioni geografiche prendendo come input un paese e un codice postale.

Installazione
!pip install pgeocode
Esempio

Ottenere informazioni geografiche per codici postali specifici

# Checking for country "India"

nomi = pgeocode.Nominatim('In')

# Getting geo information by passing the postcodes

nomi.query_postal_code(["620018", "620017", "620012"])
Output

“pgeocode” calcola la distanza tra due codici postali prendendo come input il paese e i codici postali. Il risultato è espresso in chilometri.

# Finding a distance between two postcodes
distance = pgeocode.GeoDistance('In')
distance.query_postal_code("620018", "620012")
Output

5. rembg

rembg è un’altra utile libreria che rimuove facilmente lo sfondo dalle immagini.

Installazione
!pip install rembg
Esempio
# 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)
Output

Potresti già avere familiarità con alcune di queste librerie, ma per me Sketch, Pendulum, pgeocode e ftfy sono indispensabili per il mio lavoro di ingegneria dei dati. Mi affido molto a loro per i miei progetti.

6. Humanize

Humanize” fornisce una formattazione delle stringhe semplice e di facile lettura per numeri, date e orari. L’obiettivo della biblioteca è prendere i dati e renderli più user-friendly, ad esempio convertendo un numero di secondi in una stringa più leggibile come “2 minuti fa”. La libreria può formattare i dati in vari modi, inclusa la formattazione di numeri con virgole, la conversione di timestamp in tempi relativi e altro ancora.

Uso spesso numeri interi e data e ora per i miei progetti di ingegneria dei dati.

Installazione
!pip install humanize
Esempio (Numeri interi)
# 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)
Output
Esempio (data e 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)

Ercole Palmeri

Newsletter sull’Innovazione
Non perderti le notizie più importanti sull'Innovazione. Iscriviti per riceverle via e-mail.
Tags: python

Articoli recenti

Funzioni statistiche di Excel: Tutorial con esempi, prima parte

Excel fornisce un'ampia gamma di funzioni statistiche che eseguono calcoli dalla media, mediana e moda di base fino alla distribuzione…

1 Ottobre 2023

Tabelle Pivot: cosa sono, come creare in Excel e Google. Tutorial con esempi

Le tabelle pivot costituiscono una tecnica di analisi dei fogli di calcolo. Consentono a un principiante assoluto con zero esperienza…

30 Settembre 2023

The Copyright Trouble

Quello che segue è il secondo ed ultimo articolo di questa newsletter dedicato al rapporto tra Privacy e Copyright da…

30 Settembre 2023

Innovazione per la mobilità elettrica e smart-grid: nuove batterie calcio-ione

Progetto ACTEA, ENEA e Sapienza Università di Roma metteranno a punto le nuove batterie calcio-ione. Le nuove batteria calcio-ione in alternativa a…

30 Settembre 2023

Punti salienti del convegno annuale AOFAS 2023 Ricerca e innovazione ortopedica

Oltre 900 chirurghi ortopedici del piede e della caviglia, operatori sanitari avanzati, specializzandi ortopedici e studenti di medicina hanno partecipato…

28 Settembre 2023

Boom della robotica: nel solo 2022 installati nel mondo 531.000 robot. Stima di crescita del 35% annuo da qui al 2027. IL RAPPORTO PROTOLABS

Secondo l’ultimo report Protolabs sulla robotica destinata alla produzione, quasi un terzo (32%) degli intervistati ritiene che nei prossimi anni…

28 Settembre 2023

CNH premiata agli Agritechnica Innovation Awards per la sua tecnologia in campo agricolo

CNH è fortemente impegnata nello sviluppo della propria tecnologia per rendere l’agricoltura più semplice, efficiente e sostenibile per i suoi…

27 Settembre 2023

NTT e Qualcomm scelgono di collaborare per spingere l’IA oltre i suoi limiti

La mossa strategica faciliterà uno sviluppo più veloce per l'adozione dell'ecosistema privato 5G per tutti i dispositivi digitali NTT svela…

27 Settembre 2023

Neuralink inizia il reclutamento per la prima sperimentazione clinica sull’uomo di un impianto cerebrale

Neuralink, la startup neurotecnologica di proprietà di Elon Musk, ha recentemente annunciato che inizierà a reclutare pazienti per il suo…

26 Settembre 2023

Privacy Loop: le intelligenze artificiali nel labirinto della Privacy e del Copyright

Questo è il primo di due articoli in cui affronto il delicato rapporto tra Privacy e Copyright da un lato,…

26 Settembre 2023