Artikelen

Verbazingwekkende, maar weinig bekende Python-bibliotheken

De Python-programmeur is altijd op zoek naar nieuwe bibliotheken, die het werk in data-engineering- en business intelligence-projecten kunnen verbeteren.

In dit artikel zien we enkele weinig bekende, maar zeer nuttige python-bibliotheken:

1. Slinger

Hoewel veel bibliotheken beschikbaar zijn in Python voor DateTime vind ik Pendulum gemakkelijk te gebruiken bij elke datumbewerking. Een pendel is mijn favoriete boekenkast voor dagelijks gebruik op het werk. Breidt de ingebouwde Python-datetime-module uit en voegt een meer intuïtieve API toe voor het beheren van tijdzones en het uitvoeren van datum- en tijdbewerkingen, zoals het toevoegen van tijdsintervallen, het aftrekken van datums en het converteren tussen tijdzones. Biedt een eenvoudige en intuïtieve API voor het opmaken van datums en tijden.

Installatie
!pip install pendulum
Voorbeeld
# 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)
uitgang

2. ftfy

Bent u tegengekomen wanneer de vreemde taal in de gegevens niet correct wordt weergegeven? Dit heet Mojibake. Mojibake is een term die wordt gebruikt om onleesbare of gecodeerde tekst te beschrijven die optreedt als gevolg van coderings- of decoderingsproblemen. Het komt meestal voor wanneer tekst geschreven met één tekencodering onjuist wordt gedecodeerd met een andere codering. De ftfy python-bibliotheek helpt je bij het repareren van Mojibake, wat erg handig is in NLP-use-cases.

Installatie
!pip installeer ftfy
Voorbeeld
print(ftfy.fix_text('Corrigeer de zin met “ftfyâ€\x9d.')) print(ftfy.fix_text('✔Geen problemen met tekst')) print(ftfy.fix_text('à perturber la réflexion '))
uitgang

Naast Mojibake repareert ftfy slechte coderingen, slechte regeleinden en slechte aanhalingstekens. kan tekst begrijpen die is gedecodeerd als een van de volgende coderingen:

  • Latijn-1 (ISO-8859-1)
  • Windows-1252 (cp1252 - gebruikt in Microsoft-producten)
  • Windows-1251 (cp1251 — de Russische versie van cp1252)
  • Windows-1250 (cp1250 — de Oost-Europese versie van cp1252)
  • ISO-8859–2 (wat niet precies hetzelfde is als Windows-1250)
  • MacRoman (gebruikt op Mac OS 9 en eerder)
  • cp437 (gebruikt in MS-DOS en sommige versies van de Windows-opdrachtprompt)

3. Schets

Sketch is een unieke AI-coderingsassistent die speciaal is ontworpen voor gebruikers die werken met de panda-bibliotheek in Python. Het maakt gebruik van machine learning-algoritmen om de context van gebruikersgegevens te begrijpen en biedt relevante codesuggesties om gegevensmanipulatie en analysetaken eenvoudiger en efficiënter te maken. Sketch vereist niet dat gebruikers extra plug-ins in hun IDE installeren, waardoor het snel en gemakkelijk te gebruiken is. Dit kan de tijd en moeite die nodig is voor gegevensgerelateerde taken aanzienlijk verminderen en gebruikers helpen betere, efficiëntere code te schrijven.

Installatie
!pip installatie schets
Voorbeeld

We moeten een .sketch-extensie toevoegen aan pandas-dataframe om deze bibliotheek te gebruiken.

.schets.vraag

vragen is een functie van Sketch waarmee gebruikers vragen kunnen stellen over hun gegevens in een natuurlijk taalformaat. Biedt een op tekst gebaseerd antwoord op de vraag van de gebruiker.

# Bibliotheken importeren import sketch import panda's als pd # Lezen van de data (met twitter data als voorbeeld) df = pd.read_csv("tweets.csv") print(df)
# Vragen welke kolommen categorietype zijn df.sketch.ask("Welke kolommen zijn categorietype?")
uitgang
# Om de vorm van het dataframe te vinden df.sketch.ask("Wat is de vorm van het dataframe")

.schets.howto

hoe is een functie die een codeblok biedt dat kan worden gebruikt als begin- of eindpunt voor verschillende gegevensgerelateerde taken. We kunnen codefragmenten vragen om hun gegevens te normaliseren, nieuwe functies te creëren, gegevens bij te houden en zelfs modellen te bouwen. Dit bespaart tijd en maakt het gemakkelijk om de code te kopiëren en te plakken; u hoeft de code niet helemaal opnieuw te schrijven.

# Vragen om geknipte code om de emoties te visualiseren df.sketch.howto("Visualiseer de emoties")
uitgang

.schets.toepassen

De .apply-functie het helpt bij het genereren van nieuwe functies, het ontleden van velden en het uitvoeren van andere gegevensmanipulaties. Om deze functie te gebruiken, moeten we een OpenAI-account hebben en de API-sleutel gebruiken om de taken uit te voeren. Ik heb deze functie niet geprobeerd.

Ik vond het vooral leuk om deze bibliotheek te gebruiken hoe het werkt, en ik vind het nuttig.

4. pgeocode

"pgeocode" is een uitstekende bibliotheek die ik onlangs tegenkwam en die ongelooflijk nuttig is geweest voor mijn ruimtelijke analyseprojecten. Zo kunt u bijvoorbeeld de afstand tussen twee postcodes vinden en geografische informatie verstrekken door een land en postcode als invoer te nemen.

Installatie
!pip installeer pgeocode
Voorbeeld

Ontvang geografische informatie voor specifieke postcodes

# Controleren op land "India" nomi = pgeocode.Nominatim('In') # Geo-informatie verkrijgen door de postcodes door te geven nomi.query_postal_code(["620018", "620017", "620012"])
uitgang

“pgeocode” berekent de afstand tussen twee postcodes door het land en de postcodes als invoer te nemen. Het resultaat wordt uitgedrukt in kilometers.

# Een afstand vinden tussen twee postcodes distance = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")
uitgang

5. rembg

rembg is een andere handige bibliotheek die gemakkelijk de achtergrond van afbeeldingen verwijdert.

Installatie
!pip installeer rembg
Voorbeeld
# Bibliotheken importeren
from rembg import remove import cv2 # path of input image (mijn bestand: image.jpeg) input_path = 'image.jpeg' # pad voor het opslaan van outputimage en opslaan als een output.jpeg output_path = 'output.jpeg' # Lezen van de input afbeelding input = cv2.imread(input_path) # Achtergrond verwijderen output = remove(input) # Bestand opslaan cv2.imwrite(output_path, output)
uitgang

Sommige van deze bibliotheken ken je misschien al, maar voor mij zijn Sketch, Pendulum, pgeocode en ftfy onmisbaar voor mijn data-engineeringwerk. Ik vertrouw veel op hen voor mijn projecten.

6. Menselijk maken

Humanize" biedt eenvoudige, gemakkelijk leesbare tekenreeksopmaak voor getallen, datums en tijden. Het doel van de bibliotheek is om de gegevens gebruiksvriendelijker te maken, bijvoorbeeld door een aantal seconden om te zetten in een beter leesbare string zoals "2 minuten geleden". De bibliotheek kan gegevens op verschillende manieren opmaken, waaronder het opmaken van getallen met komma's, het converteren van tijdstempels naar relatieve tijden en meer.

Ik gebruik vaak gehele getallen en tijdstempels voor mijn data-engineeringprojecten.

Installatie
!pip install vermenselijken
Voorbeeld (gehele getallen)
# Importing library import humanize import datetime as dt # Getallen opmaken met komma a = humanize.intcomma(951009) # getallen omzetten in woorden b = humanize.intword(10046328394) #printing print(a) print(b)
uitgang
Voorbeeld (datum en tijd)
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

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.
Tags: python

Recente artikelen

Uitgevers en OpenAI ondertekenen overeenkomsten om de informatiestroom die door kunstmatige intelligentie wordt verwerkt, te reguleren

Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...

April 30 2024

Online betalingen: hier is hoe streamingdiensten u voor altijd laten betalen

Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…

April 29 2024

Veeam biedt de meest uitgebreide ondersteuning voor ransomware, van bescherming tot respons en herstel

Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...

April 23 2024

Groene en digitale revolutie: hoe voorspellend onderhoud de olie- en gasindustrie transformeert

Voorspellend onderhoud zorgt voor een revolutie in de olie- en gassector, met een innovatieve en proactieve benadering van fabrieksbeheer.…

April 22 2024