@@ -562,20 +562,22 @@ def interpolate_2d(
562
562
values = values .reshape (tuple ((1 ,) + values .shape ))
563
563
564
564
method = clean_fill_method (method )
565
+ tvalues = transf (values )
565
566
if method == "pad" :
566
- values = transf ( pad_2d ( transf ( values ) , limit = limit ) )
567
+ result = _pad_2d ( tvalues , limit = limit )
567
568
else :
568
- values = transf ( backfill_2d ( transf ( values ) , limit = limit ) )
569
+ result = _backfill_2d ( tvalues , limit = limit )
569
570
571
+ result = transf (result )
570
572
# reshape back
571
573
if ndim == 1 :
572
- values = values [0 ]
574
+ result = result [0 ]
573
575
574
576
if orig_values .dtype .kind == "M" :
575
577
# convert float back to datetime64
576
- values = values .astype (orig_values .dtype )
578
+ result = result .astype (orig_values .dtype )
577
579
578
- return values
580
+ return result
579
581
580
582
581
583
def _cast_values_for_fillna (values , dtype : DtypeObj , has_mask : bool ):
@@ -597,10 +599,9 @@ def _cast_values_for_fillna(values, dtype: DtypeObj, has_mask: bool):
597
599
return values
598
600
599
601
600
- def _fillna_prep (values , mask = None , dtype : Optional [DtypeObj ] = None ):
601
- # boilerplate for pad_1d, backfill_1d, pad_2d, backfill_2d
602
- if dtype is None :
603
- dtype = values .dtype
602
+ def _fillna_prep (values , mask = None ):
603
+ # boilerplate for _pad_1d, _backfill_1d, _pad_2d, _backfill_2d
604
+ dtype = values .dtype
604
605
605
606
has_mask = mask is not None
606
607
if not has_mask :
@@ -613,20 +614,20 @@ def _fillna_prep(values, mask=None, dtype: Optional[DtypeObj] = None):
613
614
return values , mask
614
615
615
616
616
- def pad_1d (values , limit = None , mask = None , dtype : Optional [ DtypeObj ] = None ):
617
- values , mask = _fillna_prep (values , mask , dtype )
617
+ def _pad_1d (values , limit = None , mask = None ):
618
+ values , mask = _fillna_prep (values , mask )
618
619
algos .pad_inplace (values , mask , limit = limit )
619
620
return values
620
621
621
622
622
- def backfill_1d (values , limit = None , mask = None , dtype : Optional [ DtypeObj ] = None ):
623
- values , mask = _fillna_prep (values , mask , dtype )
623
+ def _backfill_1d (values , limit = None , mask = None ):
624
+ values , mask = _fillna_prep (values , mask )
624
625
algos .backfill_inplace (values , mask , limit = limit )
625
626
return values
626
627
627
628
628
- def pad_2d (values , limit = None , mask = None , dtype : Optional [ DtypeObj ] = None ):
629
- values , mask = _fillna_prep (values , mask , dtype )
629
+ def _pad_2d (values , limit = None , mask = None ):
630
+ values , mask = _fillna_prep (values , mask )
630
631
631
632
if np .all (values .shape ):
632
633
algos .pad_2d_inplace (values , mask , limit = limit )
@@ -636,8 +637,8 @@ def pad_2d(values, limit=None, mask=None, dtype: Optional[DtypeObj] = None):
636
637
return values
637
638
638
639
639
- def backfill_2d (values , limit = None , mask = None , dtype : Optional [ DtypeObj ] = None ):
640
- values , mask = _fillna_prep (values , mask , dtype )
640
+ def _backfill_2d (values , limit = None , mask = None ):
641
+ values , mask = _fillna_prep (values , mask )
641
642
642
643
if np .all (values .shape ):
643
644
algos .backfill_2d_inplace (values , mask , limit = limit )
@@ -647,7 +648,7 @@ def backfill_2d(values, limit=None, mask=None, dtype: Optional[DtypeObj] = None)
647
648
return values
648
649
649
650
650
- _fill_methods = {"pad" : pad_1d , "backfill" : backfill_1d }
651
+ _fill_methods = {"pad" : _pad_1d , "backfill" : _backfill_1d }
651
652
652
653
653
654
def get_fill_func (method ):
@@ -724,7 +725,7 @@ def inner(invalid, limit):
724
725
return f_idx & b_idx
725
726
726
727
727
- def _rolling_window (a , window ):
728
+ def _rolling_window (a : np . ndarray , window : int ):
728
729
"""
729
730
[True, True, False, True, False], 2 ->
730
731
0 commit comments