Python library for loading, shaping, embedding and visually exploring large graphs, with optional GPU acceleration via RAPIDS and the Graphistry visual analyzer.
NVIDIA/cudf
GPU-accelerated DataFrame library for tabular data, with a pandas-like API and a zero-code-change pandas accelerator.
- Stars
- 9,795
- Forks
- 1,156
- Open issues
- 1,449
- Last commit
- 21 hours ago
What is it?
cuDF is a GPU-accelerated DataFrame library for processing tabular data. Its Python package mirrors the pandas API, so code written for pandas can run on NVIDIA GPUs with minimal changes. The core is libcudf, a CUDA C++ library built on Apache Arrow compatible data structures and fundamental algorithms for tables.
The project is split into several packages. cudf provides the pandas-style DataFrame API, and cudf.pandas can accelerate unmodified pandas scripts or Jupyter notebooks by running them through the GPU. pylibcudf offers Cython bindings to libcudf, dask-cudf provides a GPU backend for Dask DataFrames, and cudf-polars adds a GPU engine for Polars lazy queries.
Installation is available via pip (with CUDA-version suffixes such as cu12 or cu13) and conda from the RAPIDS channels, with nightly builds also offered. It is part of NVIDIA's CUDA-X library suite, and other projects such as a Spark accelerator plugin and Velox-cuDF build on it.
Key features
- 01Provides a DataFrame API largely compatible with pandas.
- 02cudf.pandas accelerates unmodified pandas code via `python -m cudf.pandas`.
- 03Includes a GPU engine for Polars lazy queries via engine="gpu".
- 04Offers a GPU backend for Dask DataFrames through dask-cudf.
- 05Built on Apache Arrow compatible columnar data structures in CUDA C++.
Use cases
- Speeding up existing pandas data-processing scripts on NVIDIA GPUs without rewriting them.
- Running large groupby, filter and aggregation workloads on tabular data in Python.
- Adding GPU acceleration to Dask or Polars pipelines.
- Building GPU-accelerated SQL or data processing engines on top of libcudf.
Quick start
- 1
Install the cudf package for CUDA 12 with pip
pip install cudf-cu12 - 2
Import cudf and use it like pandas, reading a parquet file and running a groupby
Things to know
- Requires an NVIDIA GPU with a compatible driver and CUDA version.
- Installing from PyPI requires matching the CUDA major version via the -cu## suffix.
In collections
Topics
FAQ
- What is cudf?
- GPU-accelerated DataFrame library for tabular data, with a pandas-like API and a zero-code-change pandas accelerator. cuDF is a GPU-accelerated DataFrame library for processing tabular data. Its Python package mirrors the pandas API, so code written for pandas can run on NVIDIA GPUs with minimal changes. The core is libcudf, a CUDA C++ library built on Apache Arrow compatible data structures and fundamental algorithms for tables.
- Is cudf free to use? What license does it have?
- cudf is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is cudf still maintained?
- Actively maintained. The last commit to cudf was on Nov 5, 2026.
- What can I use cudf for?
- Speeding up existing pandas data-processing scripts on NVIDIA GPUs without rewriting them. Running large groupby, filter and aggregation workloads on tabular data in Python. Adding GPU acceleration to Dask or Polars pipelines. Building GPU-accelerated SQL or data processing engines on top of libcudf.
- How do I install cudf?
- Install the cudf package for CUDA 12 with pip: pip install cudf-cu12 Import cudf and use it like pandas, reading a parquet file and running a groupby
- Where can I get cudf?
- The source code and installation instructions are on GitHub: https://github.com/NVIDIA/cudf
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python library that turns pandas, polars, or pyarrow dataframes into an interactive drag-and-drop visual analysis UI inside Jupyter.
A lightweight Python library for defining data transformations as testable, self-documenting DAGs that run wherever Python runs.
A fast DataFrame query engine written in Rust, with Python, Node.js, R, Rust and SQL bindings.
A Python library for building styled, publication-quality display tables from pandas or Polars DataFrames, rendered to HTML or images.
A Python library that lets you query Xarray datasets with SQL by treating array data as tables, usable with DuckDB, Polars, DataFusion and ADBC engines.