vaexio/vaex

Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀

What it solves

Vaex solves the problem of working with massive tabular datasets that exceed your computer's available memory. It allows you to visualize and analyze billions of rows on a standard laptop without needing a cluster, by avoiding memory-heavy operations like data copying.

How it works

Vaex uses a technique called "lazy evaluation" and memory mapping. Instead of loading an entire dataset into RAM, it keeps the data on disk and only streams the necessary parts when you perform a calculation or visualization. It processes data using an N-dimensional grid, which enables it to calculate statistics like sums and means at a rate of over a billion rows per second.

Who it’s for

It is designed for data scientists and analysts who need to explore, process, and visualize extremely large datasets (gigabytes or more) using Python, but want to avoid the complexity and hardware requirements of distributed computing clusters.

Highlights

  • Instant opening of huge data files using memory mapping.
  • Lazy expression system that transforms data only when required to save memory.
  • High-performance, parallelized groupby operations and joins.
  • Native support for interactive visualization, including histograms and density plots.
  • Seamless integration with Jupyter notebooks and Voila for building dashboards.

Related

  • Project
  • Project
  • Project
  • Project