MCPcopy Create free account
hub / github.com/numpy/numpy / _checknames

Function _checknames

numpy/ma/mrecords.py:45–76  ·  view source on GitHub ↗

Checks that field names ``descr`` are not reserved keywords. If this is the case, a default 'f%i' is substituted. If the argument `names` is not None, updates the field names to valid names.

(descr, names=None)

Source from the content-addressed store, hash-verified

43
44
45def _checknames(descr, names=None):
46 """
47 Checks that field names ``descr`` are not reserved keywords.
48
49 If this is the case, a default 'f%i' is substituted. If the argument
50 `names` is not None, updates the field names to valid names.
51
52 """
53 ndescr = len(descr)
54 default_names = ['f%i' % i for i in range(ndescr)]
55 if names is None:
56 new_names = default_names
57 else:
58 if isinstance(names, (tuple, list)):
59 new_names = names
60 elif isinstance(names, str):
61 new_names = names.split(',')
62 else:
63 raise NameError(f'illegal input names {names!r}')
64 nnames = len(new_names)
65 if nnames < ndescr:
66 new_names += default_names[nnames:]
67 ndescr = []
68 for (n, d, t) in zip(new_names, default_names, descr.descr):
69 if n in reserved_fields:
70 if t[0] in reserved_fields:
71 ndescr.append((d, t[1]))
72 else:
73 ndescr.append(t)
74 else:
75 ndescr.append((n, t[1]))
76 return np.dtype(ndescr)
77
78
79def _get_fieldmask(self):

Callers

nothing calls this directly

Calls 2

splitMethod · 0.45
dtypeMethod · 0.45

Tested by

no test coverage detected