@@ -2925,47 +2925,50 @@ def interpolate(self, method='linear', axis=0, limit=None, inplace=False,
2925
2925
2926
2926
if axis == 0 :
2927
2927
ax = self ._info_axis_name
2928
+ _maybe_transposed_self = self
2928
2929
elif axis == 1 :
2929
- self = self .T
2930
+ _maybe_transposed_self = self .T
2930
2931
ax = 1
2931
- ax = self ._get_axis_number (ax )
2932
+ else :
2933
+ _maybe_transposed_self = self
2934
+ ax = _maybe_transposed_self ._get_axis_number (ax )
2932
2935
2933
- if self .ndim == 2 :
2936
+ if _maybe_transposed_self .ndim == 2 :
2934
2937
alt_ax = 1 - ax
2935
2938
else :
2936
2939
alt_ax = ax
2937
2940
2938
- if isinstance (self .index , MultiIndex ) and method != 'linear' :
2941
+ if isinstance (_maybe_transposed_self .index , MultiIndex ) and method != 'linear' :
2939
2942
raise ValueError ("Only `method=linear` interpolation is supported "
2940
2943
"on MultiIndexes." )
2941
2944
2942
- if self ._data .get_dtype_counts ().get ('object' ) == len (self .T ):
2945
+ if _maybe_transposed_self ._data .get_dtype_counts ().get ('object' ) == len (_maybe_transposed_self .T ):
2943
2946
raise TypeError ("Cannot interpolate with all NaNs." )
2944
2947
2945
2948
# create/use the index
2946
2949
if method == 'linear' :
2947
- index = np .arange (len (self ._get_axis (alt_ax ))) # prior default
2950
+ index = np .arange (len (_maybe_transposed_self ._get_axis (alt_ax ))) # prior default
2948
2951
else :
2949
- index = self ._get_axis (alt_ax )
2952
+ index = _maybe_transposed_self ._get_axis (alt_ax )
2950
2953
2951
2954
if pd .isnull (index ).any ():
2952
2955
raise NotImplementedError ("Interpolation with NaNs in the index "
2953
2956
"has not been implemented. Try filling "
2954
2957
"those NaNs before interpolating." )
2955
- new_data = self ._data .interpolate (method = method ,
2956
- axis = ax ,
2957
- index = index ,
2958
- values = self ,
2959
- limit = limit ,
2960
- inplace = inplace ,
2961
- downcast = downcast ,
2962
- ** kwargs )
2958
+ new_data = _maybe_transposed_self ._data .interpolate (
2959
+ method = method ,
2960
+ axis = ax ,
2961
+ index = index ,
2962
+ values = _maybe_transposed_self ,
2963
+ limit = limit ,
2964
+ inplace = inplace ,
2965
+ downcast = downcast ,
2966
+ ** kwargs
2967
+ )
2963
2968
if inplace :
2964
2969
if axis == 1 :
2965
- self ._update_inplace (new_data )
2966
- self = self .T
2967
- else :
2968
- self ._update_inplace (new_data )
2970
+ new_data = self ._constructor (new_data ).T ._data
2971
+ self ._update_inplace (new_data )
2969
2972
else :
2970
2973
res = self ._constructor (new_data ).__finalize__ (self )
2971
2974
if axis == 1 :
0 commit comments