diff options
Diffstat (limited to 'numpy/ma/core.py')
-rw-r--r-- | numpy/ma/core.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py index 2236c3846..b282861eb 100644 --- a/numpy/ma/core.py +++ b/numpy/ma/core.py @@ -1322,7 +1322,9 @@ class MaskedArray(ndarray): _baseclass = type(obj) else: _baseclass = ndarray - _basedict = getattr(obj, '_basedict', getattr(obj, '__dict__',{})) + # We need to copy the _basedict to avoid backward propagation + _basedict = {} + _basedict.update(getattr(obj, '_basedict', getattr(obj, '__dict__',{}))) _dict = dict(_fill_value=getattr(obj, '_fill_value', None), _hardmask=getattr(obj, '_hardmask', False), _sharedmask=getattr(obj, '_sharedmask', False), |