[Numpy-discussion] Using numpy's flatten_dtype with structured dtypes that have titles
Stéfan van der Walt
stefan@sun.ac...
Mon Aug 23 16:26:25 CDT 2010
On 23 August 2010 17:09, Pierre GM <pgmdevlist@gmail.com> wrote:
>> On the other hand, if I remove the titles from the dtype, the code works with or without the monkey patch. Without the titles, the dtype looks like:
>>
>> dtype1 = numpy.dtype([("Current","f8"),("Voltage","f8"),("Power","f8")])
>>
>> Thanks very much for your help with this issue.
>>
>> Emma
>
> Emma,
> Please open a ticket. That's a bug in flatten_dtype, which cannot handle titles in the dtype (as I never used titles, I forgot they were there...). I'll try to take care of that ASAP.
Not sure, but the fix may be as simple as
diff --git a/numpy/lib/_iotools.py b/numpy/lib/_iotools.py
index c9d8104..3a2a62b 100644
--- a/numpy/lib/_iotools.py
+++ b/numpy/lib/_iotools.py
@@ -132,7 +132,8 @@ def flatten_dtype(ndtype, flatten_base=False):
else:
types = []
for field in names:
- (typ, _) = ndtype.fields[field]
+ fieldinfo = ndtype.fields[field]
+ typ = fieldinfo[0]
flat_dt = flatten_dtype(typ, flatten_base)
types.extend(flat_dt)
return types
Regards
Stéfan
More information about the NumPy-Discussion
mailing list