awkward-pandas
Awkward Array Pandas Extension
What it is and what it does
awkward-pandas is a pandas extension that allows you to store Awkward Array objects as columns in DataFrames. Awkward Array is a library for working with nested, ragged, and complex data structures efficiently—the kind of data that doesn't fit neatly into a rectangular table. This extension bridges the two libraries, letting you use pandas' familiar API and tools while leveraging Awkward Array's capabilities for handling irregular data.
The package is in alpha status and has not seen a release since August 2023, though the repository remains active. It supports Python 3.8 through 3.11 and depends on both awkward and pandas. Use it when you need to work with nested or ragged data but want to stay within the pandas ecosystem rather than switching entirely to Awkward Array.
Use it for:
- Store lists of varying lengths as DataFrame columns without flattening or padding the data.
- Work with hierarchical or nested JSON-like data structures directly in pandas operations.
- Combine ragged array data with tabular data in a single DataFrame for analysis.
- Leverage pandas' groupby and aggregation operations on data containing nested arrays.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extends pandas DataFrames to store and manipulate Awkward Array columns, enabling efficient handling of nested and ragged data structures within pandas workflows.
Yes, if you need to work with nested or ragged data in pandas. The low install friction, permissive license, and lack of known vulnerabilities make it safe to try. However, the aging maintenance status (no release in over a year) means you should verify compatibility with your specific pandas and Python versions before relying on it in production.
Install
awkward-pandas on PyPI
pip
pip install awkward-pandasuv
uv add awkward-pandaspoetry
poetry add awkward-pandasInstalling awkward-pandas
Before you install
Low install friction with a pure-Python wheel. Maintenance is aging—last release was over a year ago (2023-08-08) and the last commit is recent (2025-09-17), suggesting the project is maintained but not actively developed. Depends on awkward and pandas, both mature libraries.
License in practice
BSD License (permissive) allows use in commercial and private projects with minimal restrictions, requiring only license attribution.
Quickstart
pip install awkward-pandas
import pandas as pd
import awkward_pandas
df = pd.DataFrame({'col': []})
df['col'] = df['col'].astype('awkward')
Requires pandas and awkward as runtime dependencies; Python >= 3.8.
Verify before relying
- Whether the aging maintenance status (1102 days since release) affects compatibility with recent pandas versions.
- Performance characteristics when working with very large nested datasets compared to alternative approaches.
- Real-world usage patterns and adoption beyond the 52 GitHub stars.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — awkward, pandas |
| Maintenance | aging — 1,102 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 363,766/month — #7,216 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: awkward_pandas-2023.8.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
awkwardAwkward Array provides NumPy-like operations on…
permissive · top 5,000 on PyPI
awkward0Manipulates complex, non-rectangular data…
permissive · top 15,000 on PyPI
ipfnIterative proportional fitting algorithm that…
permissive · top 15,000 on PyPI
newtoolsProvides libraries for processing large data…
permissive · top 15,000 on PyPI
dask-awkwardDask-awkward integrates Awkward Array with Dask…
permissive · top 15,000 on PyPI
woodworkWoodwork adds a typing layer to pandas…
permissive · top 15,000 on PyPI
pyjanitorExtends pandas DataFrames with method-chainable…
permissive · top 15,000 on PyPI
awkward-cppProvides compiled C++ kernels and extensions…
permissive · top 5,000 on PyPI
miceforestPerforms Multiple Imputation by Chained…
permissive · top 15,000 on PyPI