Releases: scikit-hep/awkward-0.x
0.7.0
0.6.2
0.6.1
- Tables whose
rowname
is"tuple"
and whose fields aremap(str, range(n))
are visualized as tuples (so that you can see field values, unlike the opaque default) inrepr
andtolist()
. - Jagged
cross
,pairs
,distincts
and theirarg*
equivalents produce tuple-Tables. - Jagged
cross
,pairs
,distincts
and theirarg*
equivalents have anested=False
option. Ifnested=True
, the output is jagged one level deeper to keep track of which pairs contain the same left value. (For the explode-operate-reduce pattern.) - Reducers are implemented on all types. Jagged reducers apply to the deepest level of jagged nesting only. Their
regularaxis=None
argument lets you send anaxis
argument to the Numpy array at the deepest level. Only rectangular arrays can be reduced in an arbitrary axis. - Jagged
flatten
has anaxis=0
argument to determine which jagged level gets flattened. (This can't be negative.)flatten
can happen at an arbitrary depth, but not reducers. - The
array.at.whatever
syntax has been removed; it led to unreadable code. - Table-tuple indexes like
["0"]
,["1"]
,["2"]
, etc. can be accessed by.i0
,.i1
,.i2
(up to 9). - Physics-motivated tests: jet cleaning and gen-reco matching.
0.6.0
Added awkward.fromiter
and awkward.fromiterchunks
to convert arbitrary data into columnar awkward-arrays. Added a description of these functions in the specification.
Started a real README and stubbed out its chapters.
Renamed Table.content
as Table.contents
for symmetry with UnionArray.contents
. Only product types and sum types have "contents" (plural); the rest have only a "content" (singular). In all cases, a "content" is an array (Numpy or awkward-array), but for product types, "contents" is an ordered dict of arrays and for sum types, "contents" is an ordered list of arrays.
Fixed a display bug (if self
is an awkward-array, but self[:3]
is a Numpy array because it's empty, it no longer causes an error).
0.5.6
Revert a change to the location of default types (INDEXTYPE
, etc.) from awkward.util
to awkward.array.base.AwkwardArray
. uproot depended on its old location.
Now it's in both places, and someday it will be only in awkward.array.base.AwkwardArray
, but only after a major awkward version update that uproot will have to depend on.
Do not use awkward 0.5.5 with uproot!
0.5.5
0.5.4
0.5.3
Optimized validity checking for JaggedArrays with starts
and stops
that correspond to a single offsets
(a very common case).
When selecting fields with a __getitem__
string, the result would always be valid, so it is now preloaded with _isvalid = True
(for all classes, not just JaggedArray).
0.5.2
Rewrote JaggedArray._tojagged
so that it would not depend on the content
being a Numpy array, as part of a fix of #49. (That error was caused by an incompletely filled numpy.empty
array in the old JaggedArray._tojagged
, but now it's moot.)
Also added performance-testing options. If the following are set:
awkward.array.base.AwkwardArray.allow_tonumpy = False
awkward.array.base.AwkwardArray.allow_iter = False
then no arrays will be auto-convert to Numpy or be iterable in Python (except in __str__
and __repr__
). These are the two slowest operations, and refusing them with a RuntimeError
may help a user search for bugs.
(The option can also be set on a particular subclass of AwkwardArray
or a particular instance.)