diff options
author | Eric Wieser <wieser.eric@gmail.com> | 2017-04-25 21:01:59 +0100 |
---|---|---|
committer | Eric Wieser <wieser.eric@gmail.com> | 2017-05-01 10:59:53 +0100 |
commit | 95b550b27ea3c1a5753b51f2d3d1cb8af8ebf8d2 (patch) | |
tree | f95a12be484f5cad575a4e98efbcda4f8eb39dbb /numpy/core/arrayprint.py | |
parent | d46df62746995481439b650790589e60a8070172 (diff) | |
download | numpy-95b550b27ea3c1a5753b51f2d3d1cb8af8ebf8d2.tar.gz |
ENH: Print object arrays containing lists unambiguously
Diffstat (limited to 'numpy/core/arrayprint.py')
-rw-r--r-- | numpy/core/arrayprint.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/numpy/core/arrayprint.py b/numpy/core/arrayprint.py index dba9dffb3..f6f610f79 100644 --- a/numpy/core/arrayprint.py +++ b/numpy/core/arrayprint.py @@ -241,6 +241,13 @@ def _boolFormatter(x): else: return 'False' +def _object_format(o): + """ Object arrays containing lists should be printed unambiguously """ + if type(o) is list: + fmt = 'list({!r})' + else: + fmt = '{!r}' + return fmt.format(o) def repr_format(x): return repr(x) @@ -256,6 +263,7 @@ def _get_formatdict(data, precision, suppress_small, formatter): 'longcomplexfloat': lambda: LongComplexFormat(precision), 'datetime': lambda: DatetimeFormat(data), 'timedelta': lambda: TimedeltaFormat(data), + 'object': lambda: _object_format, 'numpystr': lambda: repr_format, 'str': lambda: str} @@ -326,6 +334,8 @@ def _get_format_function(data, precision, suppress_small, formatter): return formatdict['numpystr']() elif issubclass(dtypeobj, _nt.datetime64): return formatdict['datetime']() + elif issubclass(dtypeobj, _nt.object_): + return formatdict['object']() else: return formatdict['numpystr']() |