Among the many Python DataFrame libraries, StaticFrame is an alternative that prioritizes correctness, maintainability, and reducing opportunities for error. Key features include:
- ðĄïļ Immutable Data: Provides memory efficiency, excellent performance, and prohibits side effects.
- ðïļ Static Typing: Use Python type-hints to statically type index, columns, and columnar types.
- ðĶ Runtime Validation: Use type hints and specialized validators for runtime type and data checks.
- ð§ Consistent Interface: An easy-to-learn, hierarchical, and intuitive API that avoids the many inconsistencies of Pandas.
- 𧎠Comprehensive
dtype
Support: Full compatibility with all NumPy dtypes and datetime64 units.
- ð Broad Interoperability: Translate between Pandas, Arrow, Parquet, CSV, TSV, JSON, MessagePack, Excel XLSX, SQLite, HDF5, and NumPy; output to xarray, VisiData, HTML, RST, Markdown, LaTeX, and Jupyter notebooks.
- ð Optimized Serialization & Memory Mapping: Fast disk I/O with custom NPZ and NPY encodings.
- ðž Multi-Table Containers: The
Bus
and Yarn
provide interfaces to collections of tables with lazy data loading, well-suited for large datasets.
- âģ Deferred Processing: The
Batch
provides a common interface for deferred processing of groups, windows, or any iterator.
- ðŠķ Lean Dependencies: Core functionality relies only on NumPy and team-maintained C-extensions.
- ð Comprehensive Documentation: All API endpoints documented with thousands of easily runnable examples.