Python erbjuder exceptionella verktyg för Data Science. Använder du för närvarande de senaste och mest effektiva verktygen i ditt arbetsflöde?

Python har fått ett rykte för sin mångsidighet och många verktyg, vilket gör det till det föredragna språket för datavetenskap. Många bibliotek har uppmuntrat innovation på detta område. För att förbättra dina färdigheter och utforska nya möjligheter är det viktigt att hålla dig uppdaterad med nya verktyg.

1. ConnectorX: Förenkla laddningen av data

Medan de flesta data finns i databaser, sker beräkningar vanligtvis utanför dem. Ändå kan överföring av data till och från databaser för verkligt arbete leda till avmattningar.

ConnectorX laddar data från databaser till många vanliga verktyg för databråk i Python, och det håller saker och ting snabbt genom att minimera mängden arbete som ska göras.

ConnectorX använder ett Rust-programmeringsspråksbibliotek i dess kärna. Detta möjliggör optimeringar som att kunna ladda från en datakälla parallellt med partitionering.

instagram viewer
Data i PostgreSQL-databasen, till exempel kan du ladda den på detta sätt genom att ange en partitionskolumn.

IConnectorX stöder även läsning av data från olika databaser, inklusive MySQL/MariaDB, SQLite, Amazon Redshift, Microsoft SQL Server, Azure SQL och Oracle.

Du kan omvandla resultaten till Pandas eller PyArrow DataFrames, eller omdirigera dem till Modin, Dask eller Polars med PyArrow.

2. DuckDB: Bemyndigande av arbetsbelastningar för analytiska frågor

DuckDB använder en kolumnär datalagring och optimerar för långvariga analytiska frågearbetsbelastningar. Den erbjuder alla funktioner du kan förvänta dig av en konventionell databas, inklusive ACID-transaktioner.

Dessutom kan du ställa in den i en Python-miljö med ett enda pip-installationskommando, vilket eliminerar behovet av en separat programvarukonfiguration.

DuckDB matar in data i CSV-, JSON- eller Parkettformat. DuckDB förbättrar effektiviteten genom att dela upp resulterande databaser i separata fysiska filer enligt nycklar som år och månad.

När du använder DuckDB för sökningar beter den sig som en vanlig SQL-driven relationsdatabas men med extra funktioner som att ta slumpmässiga dataprover och skapa fönsterfunktioner.

Dessutom ger DuckDB användbara tillägg som fulltextsökning, Excel-import/export, direktanslutningar till SQLite och PostgreSQL, exporterar filer i parkettformat och stöder olika vanliga geospatiala dataformat och typer.

3. Optimus: Effektivisera datahantering

Rensa och förbereda data för DataFrame-centrerade projekt kan vara en av de mindre avundsvärda uppgifterna. Optimus är en allt-i-ett-verktygsuppsättning utformad för att ladda, utforska, rensa och skriva tillbaka data till olika datakällor.

Optimus kan använda Pandas, Dask, CUDF (och Dask + CUDF), Vaex eller Spark som sin underliggande datamotor. Du kan ladda från och spara tillbaka till Arrow, Parquet, Excel, olika vanliga databaskällor eller platta filformat som CSV och JSON.

Datamanipulerings-API: et i Optimus är som Pandas, men det erbjuder mer .rows() och .cols() tillbehör. Dessa tillbehör gör olika uppgifter mycket lättare att utföra.

Du kan till exempel sortera en DataFrame, filtrera den baserat på kolumnvärden, ändra data med specifika kriterier eller begränsa operationer baserat på vissa villkor. Dessutom inkluderar Optimus processorer utformade för att hantera vanliga datatyper i den verkliga världen som e-postadresser och webbadresser.

Det är viktigt att vara medveten om att Optimus för närvarande är under aktiv utveckling, och dess senaste officiella release var 2020. Som ett resultat kan den vara mindre uppdaterad jämfört med andra komponenter i din stack.

4. Polars: Accelerating DataFrames

Om du finner dig själv att arbeta med DataFrames och frustrerad över prestandabegränsningarna hos Pandas, Polars är en utmärkt lösning. Detta DataFrame-bibliotek för Python erbjuder en bekväm syntax som Pandas.

Till skillnad från Pandas använder Polars ett bibliotek skrivet i Rust som maximerar din hårdvaras kapacitet direkt. Du behöver inte använda speciell syntax för att njuta av prestandahöjande funktioner som parallell bearbetning eller SIMD.

Även enkla operationer som att läsa från en CSV-fil är snabbare. Dessutom erbjuder Polars både ivriga och lata körningslägen, vilket tillåter omedelbar exekvering av frågor eller skjuts upp tills det behövs.

Det tillhandahåller också ett streaming-API för inkrementell frågebehandling, även om den här funktionen kanske inte är tillgänglig för alla funktioner ännu. Rustutvecklare kan också skapa sina egna Polars-tillägg med pyo3.

5. Snakemake: Automatisera arbetsflöden för datavetenskap

Att sätta upp datavetenskapliga arbetsflöden innebär utmaningar, och att säkerställa konsekvens och förutsägbarhet kan vara ännu svårare. Snakemake hanterar detta genom att automatisera dataanalysinställningar i Python, vilket säkerställer konsekventa resultat för alla.

Många befintliga datavetenskapliga projekt förlitar sig på Snakemake. När ditt datavetenskapliga arbetsflöde blir mer komplext blir det fördelaktigt att automatisera det med Snakemake.

Snakemake-arbetsflöden liknar GNU-arbetsflöden. I Snakemake definierar du önskade resultat med hjälp av regler som anger inmatning, utdata och nödvändiga kommandon. Du kan göra arbetsflödesregler flertrådade för att få fördelar av parallell bearbetning.

Dessutom kan konfigurationsdata härröra från JSON/YAML-filer. Arbetsflöden låter dig också definiera funktioner för att transformera data som används i regler och loggningsåtgärder vid varje steg.

Snakemake designar jobb för att vara portabla och implementerbara i Kubernetes-hanterade miljöer eller specifika molnplattformar som Google Cloud Life Sciences eller Tibanna på AWS.

Du kan frysa arbetsflöden för att använda en exakt paketuppsättning, och körda arbetsflöden kan lagra genererade enhetstester med dem. För långtidsarkivering kan du lagra arbetsflöden som tarballs.

Genom att ta till dig de senaste datavetenskapliga verktygen kan du öka din produktivitet, utöka dina möjligheter och ge dig ut på spännande datadrivna resor. Men kom ihåg att det datavetenskapliga landskapet utvecklas. För att ligga i framkant, fortsätta att utforska, experimentera och anpassa dig till de nya verktyg och tekniker som dyker upp i detta föränderliga område.