Comments (6)
Thanks for posting— I intend to do this soon. I'm surprised that the second example doesn't already give you a jagged array, since it would be trivially returning self
(a Numpy array would copy in that situation, but awkward arrays are immutable, so they return views in such situations).
from awkward-0.x.
Eek, apologies, I thought I'd already tried that call. The call
data["traces"][:]
does in fact return a <class 'awkward.array.jagged.JaggedArray'> that I can iterate over. However, I run into an error when I iterate. I think this is because of how I'm loading my data into awkward-array; the last record is different from all the others and doesn't have digitized data. I'll try to confirm that's what's going on.
Meanwhile, here's the behavior I see:
traces = data["traces"][:]
for trace in traces:
# length of a trace is always 256
if numpy.size(trace) != 256:
print("different size")
break
from awkward-0.x.
A quicker way:
(traces.counts == 256).all()
would return True
if all traces happen to have size 256. traces.counts
is just a Numpy array.
from awkward-0.x.
Yup, so
(traces.counts == 256).all()
returns False
on my data.
Should I open another issue, asking how to sensibly store what's essentially a different kind of data in my awkward-array structure?
from awkward-0.x.
Sure. It sounds like all of this would be fixed by documentation, of course. :)
from awkward-0.x.
Fixed by #34. You should be able to do subslices now:
jaggedarray[:, start:end]
which always return JaggedArrays because start:end
might not be within the second axis range for all elements.
There's also
jaggedarray.regular()
which attempts to turn the jagged array into a regular, non-jagged array, throwing an error if not all subentries have the same shape. In your data, you should be able to
jaggedarray[:-1].regular()
because all of your traces have the same size except for the last, which is empty. Actually, having the regular()
function makes subslices irrelevant for your case (because you can do normal Numpy axis subslicing), but anyway, you have choices. :)
from awkward-0.x.
Related Issues (20)
- dynamically created methods are confusing for users HOT 1
- Achieve masking HOT 8
- AssertionError when Table is part of a list HOT 5
- Potential bug with subsequent masking HOT 2
- Reduction of empty elements HOT 2
- TLorentzVectorArray yields different values depending on masking order HOT 4
- IndexError when masking empty jaggedArray made from offsets HOT 1
- awkward method names HOT 9
- TypeError when using array.mean(weights) HOT 2
- Cyclic array? HOT 1
- broken link in readme HOT 1
- Installing awkward-numba in usermode breaks awkward HOT 3
- Syntax warning due to comparison of literals using is in Python 3.8 HOT 1
- Inconsistent Filesizes with .awkd Files HOT 6
- Bug in string comparison in StringArray HOT 1
- mean, std fail on ChunkedArrays HOT 1
- AttributeError when trying to read a particular format of awkward array HOT 5
- JaggedArray.fromiter() functions fails for python lists HOT 2
- Small detail; broadcasting seems to work a little different to what is implied in the documentation. HOT 6
- Accumulate numpy arrays inside the loop HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from awkward-0.x.