You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@LunarLanding, your pydata/xarray#4118 (comment) looks pretty similar to Awkward Array, as @tacaswell has pointed out. Instead of the arbitrary graph of n-dimensional arrays, we have a tree structure of (mostly) 1-dimensional arrays, though the nodes in that tree are specialized to emulate generic data structures, like variable-length lists, records/structs, missing data, and heterogeneous unions.
It's different from the xarray Datatree proposal that that thread was about in that Awkward Arrays allow for the number of datasets with different lengths to scale. For instance, this array contains 134 million lists of different lengths and uses 4.5 GB of RAM to do so:
It's also different from a sparse matrix in that a sparse matrix is a pair of different-length buffers that are used to represent a logically rectilinear array; an Awkward Array is a set of different-length buffers that are used to represent a logically irregular array. But if you had a sparse matrix implementation on hand, you could probably use it to implement an Awkward Array.
I'd be interested to know if your use-case fits into this model, or if you're thinking of something still more general or just different from what we have here.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
@LunarLanding, your pydata/xarray#4118 (comment) looks pretty similar to Awkward Array, as @tacaswell has pointed out. Instead of the arbitrary graph of n-dimensional arrays, we have a tree structure of (mostly) 1-dimensional arrays, though the nodes in that tree are specialized to emulate generic data structures, like variable-length lists, records/structs, missing data, and heterogeneous unions.
It's different from the xarray Datatree proposal that that thread was about in that Awkward Arrays allow for the number of datasets with different lengths to scale. For instance, this array contains 134 million lists of different lengths and uses 4.5 GB of RAM to do so:
It's also different from a sparse matrix in that a sparse matrix is a pair of different-length buffers that are used to represent a logically rectilinear array; an Awkward Array is a set of different-length buffers that are used to represent a logically irregular array. But if you had a sparse matrix implementation on hand, you could probably use it to implement an Awkward Array.
I'd be interested to know if your use-case fits into this model, or if you're thinking of something still more general or just different from what we have here.
Beta Was this translation helpful? Give feedback.
All reactions