25 Repos
Tools and frameworks for processing, cleaning, and transforming datasets.
Explore 25 awesome GitHub repositories matching part of an awesome list · Data Manipulation Libraries. Refine with filters or upvote what's useful.
Pandas is a high-performance data analysis library that provides a comprehensive framework for manipulating, cleaning, and transforming structured datasets. It centers on labeled one-dimensional and two-dimensional data structures, allowing users to construct, filter, and reshape tabular information while performing complex arithmetic and logical operations. The library distinguishes itself through a sophisticated indexing engine that enables automatic data alignment during calculations and relational merges. By utilizing a block-based memory layout, it optimizes cache locality for vectorized
Library for data analysis and manipulation.
Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It functions as a structured data library that organizes information into typed columns, utilizing the Apache Arrow memory format to enable zero-copy data sharing and cache-friendly, vectorized operations. The engine is built to handle large-scale tabular datasets, providing both local and distributed analytical runtimes that scale from single-machine environments to multi-node clusters. The project distinguishes itself through a sophisticated lazy query engine that constructs abstract e
Multithreaded, vectorized query engine for DataFrames.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
Fundamental package for scientific computing with arrays.
This project is a curated collection of programming exercises designed to build proficiency in numerical computing and data manipulation. It provides a structured learning path for mastering multidimensional array operations, vectorized arithmetic, and statistical analysis. The repository focuses on developing practical expertise in array-based workflows, emphasizing techniques such as memory management, efficient data processing, and the replacement of explicit loops with vectorized operations. Users engage with hands-on challenges that cover the full lifecycle of numerical data, from initia
Exercises to master NumPy for scientific computing.
Dask ist ein Framework für paralleles Rechnen und ein verteilter Task-Scheduler, der darauf ausgelegt ist, Python-Data-Science-Workflows von einzelnen Maschinen auf große Cluster zu skalieren. Es fungiert als Cluster-Ressourcenmanager, der die Berechnungslogik orchestriert, indem Aufgaben und deren Abhängigkeiten als gerichtete azyklische Graphen dargestellt werden. Diese Architektur ermöglicht es dem System, die Verteilung von Workloads auf verfügbare Hardware zu automatisieren und gleichzeitig komplexe Ausführungsanforderungen zu verwalten. Das Projekt zeichnet sich durch eine Lazy-Evaluation-Engine aus, die Datenoperationen verzögert, bis sie explizit angefordert werden, was eine globale Graphoptimierung und effiziente Ressourcenzuweisung ermöglicht. Es integriert speicherbewusstes Data-Spilling, um Systemabstürze bei der Verarbeitung von Datensätzen zu verhindern, die den verfügbaren Speicher überschreiten, und nutzt Task-Graph-Fusion, um Sequenzen von Operationen in einzelne Ausführungsschritte zu kombinieren, wodurch Scheduling-Overhead und Inter-Node-Kommunikation minimiert werden. Die Plattform bietet eine umfassende Oberfläche für die Datenanalyse im großen Maßstab, einschließlich Unterstützung für verteiltes maschinelles Lernen, Integration in das Hochleistungsrechnen und parallele Datenverarbeitung. Sie bietet umfangreiche Werkzeuge für das Cluster-Lebenszyklusmanagement, Performance-Profiling und die Echtzeitüberwachung der Aufgabenausführung. Benutzer können diese Umgebungen über verschiedene Infrastrukturen hinweg bereitstellen, einschließlich lokaler Hardware, Cloud-Anbietern, containerisierten Systemen und Hochleistungsrechner-Clustern.
Parallel computing for arrays and DataFrames.
CuPy ist eine CUDA-Array-Computing-Bibliothek, die eine NumPy-kompatible Schnittstelle für die Ausführung von Array-Operationen und numerischen Berechnungen auf NVIDIA GPUs implementiert. Sie dient als GPU-beschleunigte numerische Bibliothek und CUDA-basierte SciPy-Implementierung, die rechenintensive Aufgaben auf Grafikhardware auslagert, um die Verarbeitungsgeschwindigkeit für wissenschaftliche und technische Workloads zu erhöhen. Die Bibliothek ermöglicht den Austausch von Tensoren zwischen verschiedenen Frameworks, wodurch Datenpuffer zwischen verschiedenen Deep-Learning-Frameworks unter Verwendung standardisierter Speicherlayouts geteilt werden können, um Speicherkopien zu vermeiden. Sie unterstützt zudem die Integration benutzerdefinierter GPU-Kernel, wodurch Array-Daten mit Low-Level-APIs verbunden werden können, um eine präzise Kontrolle über die Hardwareausführung zu ermöglichen. Das Projekt deckt im Wesentlichen Workflows für Array-Verarbeitung und wissenschaftliches Rechnen mit hoher Leistung ab. Zu den Fähigkeiten gehören die Beschleunigung von Array-Berechnungen und die Bereitstellung von Werkzeugen für numerische Berechnungen im großen Maßstab.
NVIDIA CUDA-accelerated NumPy-compatible array library.
Numba ist ein Just-in-Time-Compiler, der hochsprachliche Python-Funktionen zur Laufzeit in optimierten Maschinencode übersetzt. Durch die Nutzung der LLVM-Compiler-Infrastruktur bietet es ein Framework zur Beschleunigung numerischer Datenverarbeitung und mathematischer Berechnungen, was Leistungsniveaus ermöglicht, die mit statisch kompilierten Sprachen vergleichbar sind. Das Projekt zeichnet sich durch seine Fähigkeit zur typinferenzbasierten Spezialisierung aus, die Maschinenbefehle generiert, welche auf die während der Ausführung verwendeten Datentypen zugeschnitten sind. Es verwendet eine Lazy-Compilation-Pipeline, die die Übersetzung bis zum Moment des Aufrufs verzögert, wodurch der Start-Overhead minimiert und eine konsistente Leistung über verschiedene Prozessorarchitekturen und Betriebssysteme hinweg beibehalten wird. Über die reine Kompilierung hinaus bietet das Toolkit umfassende Unterstützung für Hardwarebeschleunigung durch die Verteilung iterativer Operationen und Array-Ausdrücke auf mehrere CPU-Kerne und Grafikprozessoren. Es nutzt Vektorisierungs- und Parallelisierungsstrategien, um den Durchsatz für große numerische Datensätze zu maximieren, wodurch Entwickler spezialisierte Hardware direkt aus Standardcode ansprechen können.
JIT compiler for fast Python and NumPy code.
Modin is a distributed dataframe library and parallel data processing engine designed to handle large datasets that exceed system memory. It functions as a distributed computing framework that parallelizes data manipulation tasks across multiple CPU cores or clusters to increase throughput and avoid memory errors. The project mirrors the Pandas API, allowing for the distribution of data workflows without changing core code logic. It utilizes a pluggable backend interface, which enables users to switch between different distributed execution engines to optimize performance based on available h
Distributed Pandas computations for speed.
Arrow ist eine Python-Bibliothek für Datum und Uhrzeit, die eine vereinfachte Schnittstelle zum Erstellen und Bearbeiten von Zeitstempeln bietet, indem sie die Python-Standardbibliothek kapselt. Sie dient als Werkzeug zur Verwaltung von Datumsobjekten, zur Handhabung von Zeitzonen-Offsets und zur Durchführung relativer Datumsberechnungen. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Zeitstempel in natürliche, relative Sprachbeschreibungen für verschiedene Gebietsschemata zu übersetzen und menschenlesbare Zeitangaben wieder in präzise Datumsobjekte umzuwandeln. Zudem verfügt sie über einen spezialisierten Parser zur Konvertierung von ISO 8601-Strings und benutzerdefiniert formatierten Texten in Datumsobjekte. Zu den umfassenden Funktionen gehören zeitliche Arithmetik zum Verschieben von Daten, Bereichsgenerierung zur Berechnung von Zeitspannen und Rundungen zur Anpassung von Zeitstempeln an bestimmte Einheiten. Sie deckt außerdem globale Zeitzonen und Sommerzeitumstellungen sowie die lokalisierte Übersetzung für internationalisierte Datumsformate ab.
Enhanced work with dates and times.
Vaex is a high-performance Apache Arrow DataFrame library and out-of-core data processing engine designed to handle billion-row tabular datasets in Python. It functions as a lazy evaluation framework that defers computations and transformations until results are required, enabling the processing of datasets that exceed available system RAM by mapping files directly from disk. The project distinguishes itself as a tool for big data visualization and exploration, specifically integrated for use within interactive notebooks. It provides specialized capabilities for machine learning feature engin
High-performance library for lazy Out-of-Core DataFrames.
Dieses Projekt ist ein pandas-Datenanalyse-Kochbuch und ein Python-Data-Science-Leitfaden. Es bietet eine Sammlung programmatischer Rezepte und Beispiele für das Bereinigen, Manipulieren und Analysieren strukturierter Daten. Das Projekt konzentriert sich auf die Bereitstellung einer containerisierten Analyseumgebung, um einen konsistenten Arbeitsbereich und reproduzierbare Abhängigkeiten bei der Ausführung von Datenverarbeitungsskripten zu gewährleisten. Es deckt ein breites Spektrum an Data-Science-Fähigkeiten ab, einschließlich Datenaufnahme aus externen Quellen, Rohdatenbereinigung und explorativer Datenanalyse. Diese Rezepte demonstrieren, wie strukturierte Datenanalyse durch Techniken wie Filtern, Aggregieren gruppierter Daten und die Verarbeitung von Textdaten durchgeführt wird.
Recipes for using Pandas effectively.
Pendulum is a Python date and time library that provides a simplified interface for date arithmetic, ISO parsing, localization, and timezone management. It serves as a replacement for the standard library datetime module, extending existing classes to maintain compatibility while offering a more intuitive management interface. The library distinguishes itself through a natural language date formatter that translates time differences into localized strings and a dedicated ISO 8601 date parser. It also includes tools for time-dependent logic testing, allowing the system clock to be mocked or fi
Datetime library with timezone support.
Pandarallel is a Python library designed to accelerate data manipulation workflows by distributing computationally intensive tasks across all available CPU cores. It functions as a parallel processing utility that integrates directly into standard data analysis pipelines to reduce the execution time of large-scale operations. The library employs a wrapper pattern that intercepts standard data processing calls, redirecting them from sequential execution to a parallelized architecture. It manages this distribution through a multiprocessing-based task model, which utilizes shared-memory serializ
Parallel operations for Pandas DataFrames.
Fuzzy String Matching in Python
Fuzzy string matching library.
Extract data from a wide range of Internet sources into a pandas DataFrame.
Reads data from online sources into Pandas.
Inspired by 100 Numpy exerises, here are 100* short puzzles for testing your knowledge of pandas' power.
Data puzzles to practice Pandas skills.
Pandas integration with sklearn
Bridge between Pandas and Scikit-learn.
Useful extensions to the standard Python datetime features
Extensions for standard Python datetime features.
| Tutorials | API Documentation | Chat with us on slack! | | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |…
Unified interface for Pandas, Spark, and Dask.
Copyright (c) 2017 Nicolas P. Rougier License: Creative Commons Attribution 4.0 International (CC BY-NC-SA 4.0). Website: http://www.labri.fr/perso/nrougier/from-python-to-numpy
Book on vectorization and efficient numerical computing.