pandas

The Python DataFrame library for fast, flexible, and expressive data analysis and manipulation.

Library
PyPI
v3.1.0
50,259 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
98 /100 Excellent
Development Activity 100
Maintenance 96
Community 96
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 94
Code Quality 92
Innovation 88
Learning Curve 62

pandas is the de facto standard library for tabular and time-series data in Python, providing the DataFrame and Series structures that most of the Python data ecosystem — from Jupyter notebooks to production ETL pipelines — is built on top of. It handles labeled data alignment, missing-value handling, group-by aggregation, merging/joining, reshaping, and time-series resampling with an API that’s grown into a de facto standard imitated by libraries like Polars and Dask.

Under the hood, performance-critical operations (hashing, grouping, indexing, joins) are implemented in Cython and C, wrapped by a Python-facing API that interoperates directly with NumPy arrays and, increasingly, Arrow-backed extension types. It’s used everywhere from one-off data exploration scripts to the core of production data pipelines at companies of every size.

What You Get

  • DataFrame and Series objects with label-based indexing, automatic data alignment, and hierarchical (MultiIndex) support
  • Robust I/O for CSV, Excel, JSON, SQL, Parquet, HDF5, and other flat-file and database formats
  • Powerful split-apply-combine group-by functionality for aggregating and transforming datasets
  • Flexible reshaping and pivoting (melt, pivot_table, stack/unstack) for wide/long conversions
  • Built-in time-series tooling: date-range generation, frequency conversion, resampling, and rolling-window statistics
  • Vectorized, NumPy-backed numerical operations with nullable and Arrow-backed extension dtypes

Common Use Cases

  • Exploratory data analysis and cleaning in Jupyter notebooks ahead of modeling or visualization
  • ETL and batch data pipelines that ingest CSV/SQL/Parquet sources, transform them, and write results downstream
  • Feature engineering and preprocessing for machine-learning workflows feeding into scikit-learn or similar
  • Financial and time-series analysis — resampling, rolling statistics, and date-aligned joins across series
  • Ad hoc reporting and aggregation over tabular data pulled from databases or APIs

Under The Hood

Architecture pandas is organized around two public data structures, Series (pandas/core/series.py) and DataFrame (pandas/core/frame.py, ~19.5k lines), both subclassing shared behavior in NDFrame (pandas/core/generic.py, ~12.7k lines) for indexing, alignment, and I/O dispatch. Below the public API, pandas/core/internals manages the actual data as a BlockManager of homogeneously-typed blocks so mixed-dtype DataFrames avoid the overhead of a fully object-typed 2-D array, and pandas/_libs (Cython/C extension modules — algos, groupby, hashtable, indexing, internals, tslibs) implements the performance-critical inner loops for hashing, grouping, and index alignment that the Python layer calls into. I/O for each format lives under pandas/io (csv, excel, sql, parquet, json, etc.), each producing a DataFrame through the same construction path. Tech Stack Core dependencies are NumPy (array backend and dtype system) and python-dateutil (date parsing), with tzdata required on Windows/Emscripten; the build uses meson-python plus Cython (>3.1,<4) to compile the _libs extension modules, and versioneer for version management from git tags. Optional extras (pandas[computation], pandas[performance], pandas[plot], etc., declared in pyproject.toml) pull in numexpr, bottleneck, matplotlib, pyarrow, and other domain-specific dependencies without forcing them on every installation. Code Quality The test suite under pandas/tests spans 1,124+ files covering the public API surface, dtype edge cases, and platform-specific behavior; CI (unit-tests.yml) runs this matrix across Python and NumPy versions with coverage tracked via Codecov. Core modules consistently use from __future__ import annotations with an accompanying typings/ stub directory and a [tool.mypy] configuration enforcing static analysis over the pandas and typings trees, and a pyright_reportGeneralTypeIssues.json baseline for incremental Pyright adoption — signals of a codebase actively tightening its type-safety net despite its size and age. API Design The Series/DataFrame method surface favors chainable, vectorized operations (.groupby().agg(), .merge(), .pivot_table()) over explicit loops, and label-based indexing (.loc/.iloc) is consistent across both structures. The tradeoff for that breadth is a large API surface with historically accumulated method aliases and configuration options (pandas.options), which raises the learning curve for newcomers even though the official documentation and 30k+ Stack Overflow-tagged questions make most patterns easy to look up.

Used by 61 apps in this directory

C
74%
AGPL 3.0

TDengine

Databases

25,168

A high-performance, open-source time-series database built in C for IoT, connected vehicles, and industrial monitoring workloads, with built-in stream processing, caching, and data subscription.

View details
97
Repo Health
71
Technical
65
Dependency
Built with
C 74%
C++ 19%
Updated 1 weeks ago
Rust
79%
Apache 2.0

TensorZero

Ab Testing Experimentation · AI Development · Monitoring

11,708

TensorZero unifies the LLM gateway, observability, evaluation, optimization, and experimentation stack behind a single OpenAI-compatible API, built in Rust for sub-millisecond p99 latency.

View details
53
Repo Health
87
Technical
68
Dependency
Built with
Rust 79%
TypeScript 15%
Updated 4 months ago
C++
75%
Apache 2.0

Timeplus Proton

Analytics · Data Engineering

2,273

Single C++ binary SQL engine for real-time stream processing, ETL, and analytics on Kafka, Redpanda, and ClickHouse with sub-millisecond latency.

View details
87
Repo Health
82
Technical
68
Dependency
Built with
C++ 75%
Python 11%
Updated 2 weeks ago
Python
73%
Apache 2.0

timesfm

AI Development · Analytics

34,750

A pretrained decoder-only foundation model by Google Research that delivers zero-shot time series forecasting with calibrated quantile prediction intervals — no training required.

View details
76
Repo Health
81
Technical
71
Dependency
Built with
Python 73%
HTML 14%
Jupyter Notebook 12%
Updated 1 months ago
Python
73%
Apache 2.0

Unsloth

AI Assistants · AI Development

78,493

Run and fine-tune LLMs, diffusion, audio and embedding models on your own hardware, from a native desktop app, a browser UI, or a Python library.

View details
89
Repo Health
83
Technical
70
Dependency
Built with
Python 73%
TypeScript 22%
Updated 6 days ago
Python
96%
AGPL 3.0

VideoHighlighter

Video Editors

296

Local AI desktop tool that scores, explains, and cuts the moments that matter in raw footage — scene, motion, audio, object, and action detection, fully offline via Ollama and Whisper.

View details
83
Repo Health
84
Technical
71
Dependency
Built with
Python 96%
Updated 1 weeks ago
Python
66%
Apache 2.0

WrenAI

AI Agents · Analytics · Data Engineering

17,958

Open-source GenBI engine that lets AI agents turn natural-language questions into governed SQL, charts, and shareable dashboards across 20+ data sources — no vendor lock-in, no black-box prompts.

View details
91
Repo Health
91
Technical
68
Dependency
Built with
Python 66%
Rust 31%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers