68
68
'zeros' ]
69
69
70
70
import cPickle
71
- import operator
72
71
73
72
import numpy as np
74
73
from numpy import ndarray , amax , amin , iscomplexobj , bool_
@@ -108,12 +107,12 @@ def get_object_signature(obj):
108
107
try :
109
108
sig = formatargspec (* getargspec (obj ))
110
109
except TypeError , errmsg :
111
- msg = "Unable to retrieve the signature of %s '%s'\n " \
112
- "(Initial error message: %s)"
110
+ sig = ''
111
+ # msg = "Unable to retrieve the signature of %s '%s'\n"\
112
+ # "(Initial error message: %s)"
113
113
# warnings.warn(msg % (type(obj),
114
114
# getattr(obj, '__name__', '???'),
115
115
# errmsg))
116
- sig = ''
117
116
return sig
118
117
119
118
@@ -411,10 +410,10 @@ def _check_fill_value(fill_value, ndtype):
411
410
else :
412
411
# In case we want to convert 1e+20 to int...
413
412
try :
414
- fill_value = np .array (fill_value , copy = False , dtype = ndtype ).item ()
413
+ fill_value = np .array (fill_value , copy = False , dtype = ndtype )# .item()
415
414
except OverflowError :
416
415
fill_value = default_fill_value (ndtype )
417
- return fill_value
416
+ return np . array ( fill_value )
418
417
419
418
420
419
def set_fill_value (a , fill_value ):
@@ -478,7 +477,7 @@ def set_fill_value(a, fill_value):
478
477
479
478
"""
480
479
if isinstance (a , MaskedArray ):
481
- a ._fill_value = _check_fill_value (fill_value , a . dtype )
480
+ a .set_fill_value (fill_value )
482
481
return
483
482
484
483
def get_fill_value (a ):
@@ -3259,23 +3258,21 @@ def raw_data(self):
3259
3258
"""
3260
3259
warnings .warn ('Use .data instead.' , DeprecationWarning )
3261
3260
return self ._data
3262
- #............................................
3263
- def _get_flat (self ):
3264
- """Return a flat iterator.
3265
3261
3266
- """
3262
+
3263
+ def _get_flat (self ):
3264
+ "Return a flat iterator."
3267
3265
return MaskedIterator (self )
3268
3266
#
3269
3267
def _set_flat (self , value ):
3270
- """Set a flattened version of self to value.
3271
-
3272
- """
3268
+ "Set a flattened version of self to value."
3273
3269
y = self .ravel ()
3274
3270
y [:] = value
3275
3271
#
3276
3272
flat = property (fget = _get_flat , fset = _set_flat ,
3277
3273
doc = "Flat version of the array." )
3278
- #............................................
3274
+
3275
+
3279
3276
def get_fill_value (self ):
3280
3277
"""
3281
3278
Return the filling value of the masked array.
@@ -3302,7 +3299,7 @@ def get_fill_value(self):
3302
3299
"""
3303
3300
if self ._fill_value is None :
3304
3301
self ._fill_value = _check_fill_value (None , self .dtype )
3305
- return self ._fill_value
3302
+ return self ._fill_value [()]
3306
3303
3307
3304
def set_fill_value (self , value = None ):
3308
3305
"""
@@ -3334,7 +3331,14 @@ def set_fill_value(self, value=None):
3334
3331
1e+20
3335
3332
3336
3333
"""
3337
- self ._fill_value = _check_fill_value (value , self .dtype )
3334
+ target = _check_fill_value (value , self .dtype )
3335
+ _fill_value = self ._fill_value
3336
+ if _fill_value is None :
3337
+ # Create the attribute if it was undefined
3338
+ self ._fill_value = target
3339
+ else :
3340
+ # Don't overwrite the attribute, just fill it (for propagation)
3341
+ _fill_value [()] = target
3338
3342
3339
3343
fill_value = property (fget = get_fill_value , fset = set_fill_value ,
3340
3344
doc = "Filling value." )
@@ -5400,7 +5404,7 @@ def __setstate__(self, state):
5400
5404
- a binary string for the mask.
5401
5405
5402
5406
"""
5403
- (ver , shp , typ , isf , raw , msk , flv ) = state
5407
+ (_ , shp , typ , isf , raw , msk , flv ) = state
5404
5408
ndarray .__setstate__ (self , (shp , typ , isf , raw ))
5405
5409
self ._mask .__setstate__ ((shp , make_mask_descr (typ ), isf , msk ))
5406
5410
self .fill_value = flv
@@ -5525,7 +5529,14 @@ def filled(self, fill_value=None):
5525
5529
5526
5530
def tolist (self ):
5527
5531
"""
5528
- Transforms the object into a list
5532
+ Transforms the mvoid object into a tuple.
5533
+
5534
+ Masked fields are replaced by None.
5535
+
5536
+ Returns
5537
+ -------
5538
+ returned_tuple
5539
+ Tuple of fields
5529
5540
"""
5530
5541
_mask = self ._mask
5531
5542
if _mask is nomask :
0 commit comments