@@ -21,11 +21,16 @@ def mask_missing(arr, values_to_mask):
21
21
Return a masking array of same size/shape as arr
22
22
with entries equaling any member of values_to_mask set to True
23
23
"""
24
- if not isinstance (values_to_mask , (list , np .ndarray )):
24
+ if isinstance (values_to_mask , np .ndarray ):
25
+ mask_type = values_to_mask .dtype .type
26
+ elif isinstance (values_to_mask , list ):
27
+ mask_type = type (values_to_mask [0 ])
28
+ else :
29
+ mask_type = type (values_to_mask )
25
30
values_to_mask = [values_to_mask ]
26
31
27
32
try :
28
- values_to_mask = np .array (values_to_mask , dtype = arr . dtype )
33
+ values_to_mask = np .array (values_to_mask , dtype = mask_type )
29
34
except Exception :
30
35
values_to_mask = np .array (values_to_mask , dtype = object )
31
36
@@ -409,7 +414,7 @@ def interpolate_2d(values, method='pad', axis=0, limit=None, fill_value=None,
409
414
if axis != 0 : # pragma: no cover
410
415
raise AssertionError ("cannot interpolate on a ndim == 1 with "
411
416
"axis != 0" )
412
- values = values .reshape (tuple ((1 , ) + values .shape ))
417
+ values = values .reshape (tuple ((1 ,) + values .shape ))
413
418
414
419
if fill_value is None :
415
420
mask = None
@@ -447,7 +452,6 @@ def wrapper(arr, mask, limit=None):
447
452
448
453
449
454
def pad_1d (values , limit = None , mask = None , dtype = None ):
450
-
451
455
if dtype is None :
452
456
dtype = values .dtype
453
457
_method = None
@@ -472,7 +476,6 @@ def pad_1d(values, limit=None, mask=None, dtype=None):
472
476
473
477
474
478
def backfill_1d (values , limit = None , mask = None , dtype = None ):
475
-
476
479
if dtype is None :
477
480
dtype = values .dtype
478
481
_method = None
@@ -498,7 +501,6 @@ def backfill_1d(values, limit=None, mask=None, dtype=None):
498
501
499
502
500
503
def pad_2d (values , limit = None , mask = None , dtype = None ):
501
-
502
504
if dtype is None :
503
505
dtype = values .dtype
504
506
_method = None
@@ -528,7 +530,6 @@ def pad_2d(values, limit=None, mask=None, dtype=None):
528
530
529
531
530
532
def backfill_2d (values , limit = None , mask = None , dtype = None ):
531
-
532
533
if dtype is None :
533
534
dtype = values .dtype
534
535
_method = None
0 commit comments