(ndtype, namemapper)
| 629 | |
| 630 | """ |
| 631 | def _recursive_rename_fields(ndtype, namemapper): |
| 632 | newdtype = [] |
| 633 | for name in ndtype.names: |
| 634 | newname = namemapper.get(name, name) |
| 635 | current = ndtype[name] |
| 636 | if current.names is not None: |
| 637 | newdtype.append( |
| 638 | (newname, _recursive_rename_fields(current, namemapper)) |
| 639 | ) |
| 640 | else: |
| 641 | newdtype.append((newname, current)) |
| 642 | return newdtype |
| 643 | newdtype = _recursive_rename_fields(base.dtype, namemapper) |
| 644 | return base.view(newdtype) |
| 645 |