On Wed, 2023-02-08 at 14:31 +0100, Francesc Alted wrote: > On Wed, Feb 8, 2023 at 1:42 PM Sebastian Berg < > sebast...@sipsolutions.net> > wrote: > > > On Wed, 2023-02-08 at 12:48 +0100, Francesc Alted wrote: > > > Hi, > > > > > > > > > > <snip> > > > > > Is there a way (or an ongoing effort) to express the variety of > > > data > > > types > > > in NumPy that beats the above (which seems somewhat inconsistent > > > to > > > me)? > > > > How about using the Python buffer interface format string (maybe > > with > > some limitations). > > > > If you mean the array interface ( > https://numpy.org/doc/stable/reference/arrays.interface.html), this > is what > dtype.str provides ( > https://numpy.org/doc/stable/reference/generated/numpy.dtype.str.html > ). > But the limitation here is that structured types are represented by > the 'V' > char, which is not properly representing it by any means. >
Ah, I was thinking of what the Python buffer protocol uses, which is what struct uses: https://docs.python.org/3/library/struct.html#module-struct That has some annoyances for sure, and structured dtypes with field names need rather strange syntax. Also I think padding bytes at best are simply fields with an empty name. But overall, it probably already does a better job than any `str()` for basic types: In [2]: import numpy as np In [3]: np.array(0, dtype="i,i,2f") Out[3]: array((0, 0, [0., 0.]), dtype=[('f0', '<i4'), ('f1', '<i4'), ('f2', '<f4', (2,))]) In [4]: memoryview(np.array(0, dtype="i,i,2f")).format Out[4]: 'T{i:f0:i:f1:(2)f:f2:}' - Sebastian > > > But other than that, I don't have an obvious idea right now. > > > > - Sebsatian > > > > > > > > Thanks! > > > _______________________________________________ > > > NumPy-Discussion mailing list -- numpy-discussion@python.org > > > To unsubscribe send an email to numpy-discussion-le...@python.org > > > https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ > > > Member address: sebast...@sipsolutions.net > > > > > > _______________________________________________ > > NumPy-Discussion mailing list -- numpy-discussion@python.org > > To unsubscribe send an email to numpy-discussion-le...@python.org > > https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ > > Member address: fal...@gmail.com > > > > > _______________________________________________ > NumPy-Discussion mailing list -- numpy-discussion@python.org > To unsubscribe send an email to numpy-discussion-le...@python.org > https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ > Member address: sebast...@sipsolutions.net _______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com