diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2010-11-23 22:43:12 -0700 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2010-11-24 20:14:00 -0700 |
commit | f0c3443b27391efb1b14161729e2df8ec24b5fcc (patch) | |
tree | 62a4e02f0d9a612a368d873430678043308fdc68 /numpy/lib/recfunctions.py | |
parent | 3b8cf12ee19994389ae3261666dd32cced4787be (diff) | |
download | numpy-f0c3443b27391efb1b14161729e2df8ec24b5fcc.tar.gz |
BUG: data shouldn't be an optional argument.
Diffstat (limited to 'numpy/lib/recfunctions.py')
-rw-r--r-- | numpy/lib/recfunctions.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/numpy/lib/recfunctions.py b/numpy/lib/recfunctions.py index da0c3e8ac..f722a89d1 100644 --- a/numpy/lib/recfunctions.py +++ b/numpy/lib/recfunctions.py @@ -572,7 +572,7 @@ def rename_fields(base, namemapper): return base.view(newdtype) -def append_fields(base, names, data=None, dtypes=None, +def append_fields(base, names, data, dtypes=None, fill_value= -1, usemask=True, asrecarray=False): """ Add new fields to an existing array. @@ -591,7 +591,7 @@ def append_fields(base, names, data=None, dtypes=None, of the new fields. data : array or sequence of arrays Array or sequence of arrays storing the fields to add to the base. - dtypes : sequence of datatypes + dtypes : sequence of datatypes, optional Datatype or sequence of datatypes. If None, the datatypes are estimated from the `data`. fill_value : {float}, optional @@ -605,8 +605,8 @@ def append_fields(base, names, data=None, dtypes=None, # Check the names if isinstance(names, (tuple, list)): if len(names) != len(data): - err_msg = "The number of arrays does not match the number of names" - raise ValueError(err_msg) + msg = "The number of arrays does not match the number of names" + raise ValueError(msg) elif isinstance(names, basestring): names = [names, ] data = [data, ] @@ -615,15 +615,13 @@ def append_fields(base, names, data=None, dtypes=None, data = [np.array(a, copy=False, subok=True) for a in data] data = [a.view([(name, a.dtype)]) for (name, a) in zip(names, data)] else : - if not hasattr(dtypes, '__iter__'): + if not isinstance(dtypes, (tuple, list)): dtypes = [dtypes, ] - if len(data) != len(dtypes): if len(dtypes) == 1: dtypes = dtypes * len(data) else: - msg = "The dtypes argument must be None, "\ - "a single dtype or a list." + msg = "The dtypes argument must be None, a dtype, or a list." raise ValueError(msg) data = [np.array(a, copy=False, subok=True, dtype=d).view([(n, d)]) for (a, n, d) in zip(data, names, dtypes)] |