Registry / data / awkward-pandas

awkward-pandas

JSON →
library2023.8.0pypypi✓ verified 84d ago

Awkward-pandas integrates Awkward Arrays with pandas, allowing columnar data with variable-length lists, nested structures, and missing values to be used in DataFrames. Version 2023.8.0 supports Python >=3.8. Provides storage extension and accessor for seamless conversion. Low maintenance; release cadence is sporadic.

pip install awkward-pandas
INSTALL
IMPORT
SIG · AWKWARD-PANDAS
A
awkward-pandas
datapythonv2023.8.0
Install
9.0s avg
Import
1768ms
Disk
180MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2023.8.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 1.816s · 181.5MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 9.0s · import 1.720s · 170MB
180MB installed
● package 180MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

AwkwardExtensionArray
from awkward_pandas import AwkwardExtensionArray
AwkwardAccessor
from awkward_pandas import AwkwardAccessor

Create a DataFrame with an Awkward Array column and use the .ak accessor.

import awkward as ak import pandas as pd from awkward_pandas import AwkwardExtensionArray # Create an Awkward Array array = ak.Array([[1, 2], [3], None]) # Create a DataFrame with AwkwardExtensionArray column ser = pd.Series(AwkwardExtensionArray(array), name='col') df = ser.to_frame() print(df) # Use the accessor for operations print(df['col'].ak.num())
Debug
Known issues
breakingVersion 2023.8.0 may be incompatible with older versions of awkward (<2.0). Awkward 2.0 introduced breaking changes in its API (e.g., `ak.Array` construction). Ensure awkward >=2.0 is installed.
fix
Upgrade awkward to >=2.0.0: pip install 'awkward>=2.0.0'
affects: >=2023.8.0
gotchaThe `AwkwardExtensionArray` constructor expects an Awkward Array, not a list or numpy array. Passing a plain Python list will raise a TypeError.
fix
Ensure the argument is an `ak.Array` object: `AwkwardExtensionArray(ak.Array([1, 2, 3]))`
affects: all
deprecatedThe `.ak` accessor methods are not fully aligned with pandas 2.0+ API. Some operations (e.g., `.ak.num()`) may return unexpected types in newer pandas versions. Prefer explicit conversion to numpy/awkward before aggregations.
fix
Convert to Awkward Array and use native awkward operations instead of accessor for critical code.
affects: all
Errors
Common errors & fixes
TypeError: Cannot interpret 'list' as an Awkward Array
Passing a Python list to AwkwardExtensionArray constructor instead of an ak.Array.
fix
Wrap in ak.Array: AwkwardExtensionArray(ak.Array(your_list))
ModuleNotFoundError: No module named 'awkward_pandas'
Package not installed or installed in wrong environment.
fix
Run 'pip install awkward-pandas' in your Python environment.
ValueError: The 'data' argument must be an Awkward Array
Constructor called with incompatible type (e.g., numpy array).
fix
Convert to ak.Array first: AwkwardExtensionArray(ak.Array(np_array))
Upgrade
Version history
2023.8.0latest on PyPI · released Aug 8, 2023
Audit
Dependencies
awkwardrequiredcore dependency for Awkward Array operations
pandasrequiredDataFrame integration
pyarrowoptionaloptional for Arrow conversion
Agent activity
24 hits · last 30 days
node
22
OpenAI (training)
1
Resources
awkward-pandas — pip install awkward-pandas · libregistry