From f723259824c82bf6f56d2dad2906de27376bf617 Mon Sep 17 00:00:00 2001 From: Doug Davis Date: Mon, 22 Jan 2024 16:13:05 -0600 Subject: [PATCH] support explode --- src/awkward_pandas/array.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/awkward_pandas/array.py b/src/awkward_pandas/array.py index 7e5face..892093c 100644 --- a/src/awkward_pandas/array.py +++ b/src/awkward_pandas/array.py @@ -108,6 +108,14 @@ def _binop(self, other): def _reduce(self, name: str, *, skipna: bool = True, axis=None, **kwargs): return getattr(ak, name)(self._data, **kwargs) + def _explode(self): + nums = ak.num(self._data, axis=1) + nums_filled = ak.fill_none(nums, 0) + data = ak.where(nums_filled == 0, [[None]], self._data) + flat = ak.flatten(data) + arr = type(self)(flat) + return arr, ak.num(data, axis=1) + @property def dtype(self) -> AwkwardDtype: return self._dtype