Description
Pandas version checks
-
I have checked that this issue has not already been reported.
-
I have confirmed this bug exists on the latest version of pandas.
-
I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
temp = pd.Series([32, 40, None, 42, 39, 32], dtype='float[pyarrow]')
temp.interpolate()
Issue Description
the .interpolate()
method fails with a TypeError
when applied to a Pandas Series with the dtype float[pyarrow]
.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[18], line 2
1 temp = pd.Series([32, 40, None, 42, 39, 32], dtype='float[pyarrow]')
----> 2 temp.interpolate()
File ~/.envs/menv/lib/python3.10/site-packages/pandas/core/generic.py:8206, in NDFrame.interpolate(self, method, axis, limit, inplace, limit_direction, limit_area, downcast, **kwargs)
8204 else:
8205 index = missing.get_interp_index(method, obj.index)
-> 8206 new_data = obj._mgr.interpolate(
8207 method=method,
8208 index=index,
8209 limit=limit,
8210 limit_direction=limit_direction,
8211 limit_area=limit_area,
8212 inplace=inplace,
8213 downcast=downcast,
8214 **kwargs,
8215 )
8217 result = self._constructor_from_mgr(new_data, axes=new_data.axes)
8218 if should_transpose:
File ~/.envs/menv/lib/python3.10/site-packages/pandas/core/internals/base.py:265, in DataManager.interpolate(self, inplace, **kwargs)
264 def interpolate(self, inplace: bool, **kwargs) -> Self:
--> 265 return self.apply_with_block(
266 "interpolate", inplace=inplace, **kwargs, using_cow=using_copy_on_write()
267 )
File ~/.envs/menv/lib/python3.10/site-packages/pandas/core/internals/managers.py:354, in BaseBlockManager.apply(self, f, align_keys, **kwargs)
352 applied = b.apply(f, **kwargs)
353 else:
--> 354 applied = getattr(b, f)(**kwargs)
355 result_blocks = extend_blocks(applied, result_blocks)
357 out = type(self).from_blocks(result_blocks, self.axes)
File ~/.envs/menv/lib/python3.10/site-packages/pandas/core/internals/blocks.py:1507, in Block.interpolate(self, method, index, inplace, limit, limit_direction, limit_area, downcast, using_cow, **kwargs)
1504 copy, refs = self._get_refs_and_copy(using_cow, inplace)
1506 # Dispatch to the EA method.
-> 1507 new_values = self.array_values.interpolate(
1508 method=method,
1509 axis=self.ndim - 1,
1510 index=index,
1511 limit=limit,
1512 limit_direction=limit_direction,
1513 limit_area=limit_area,
1514 copy=copy,
1515 **kwargs,
1516 )
1517 data = extract_array(new_values, extract_numpy=True)
1519 nb = self.make_block_same_class(data, refs=refs)
TypeError: ExtensionArray.interpolate() missing 1 required keyword-only argument: 'fill_value'
Expected Behavior
That this would work like it does in Pandas 1.
Installed Versions
INSTALLED VERSIONS
commit : e86ed37
python : 3.10.13.final.0
python-bits : 64
OS : Darwin
OS-release : 21.6.0
Version : Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:23 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T6000
machine : arm64
processor : arm
byteorder : little
LC_ALL : en_US.UTF-8
LANG : None
LOCALE : en_US.UTF-8
pandas : 2.1.1
numpy : 1.23.5
pytz : 2023.3
dateutil : 2.8.2
setuptools : 67.6.1
pip : 23.2.1
Cython : 3.0.4
pytest : 7.2.0
hypothesis : 6.81.2
sphinx : None
blosc : None
feather : None
xlsxwriter : 3.1.2
lxml.etree : 4.9.2
html5lib : 1.1
pymysql : None
psycopg2 : None
jinja2 : 3.1.2
IPython : 8.8.0
pandas_datareader : None
bs4 : 4.11.1
bottleneck : None
dataframe-api-compat: None
fastparquet : None
fsspec : 2023.3.0
gcsfs : None
matplotlib : 3.6.2
numba : 0.56.4
numexpr : 2.8.4
odfpy : None
openpyxl : 3.0.10
pandas_gbq : None
pyarrow : 13.0.0
pyreadstat : None
pyxlsb : None
s3fs : None
scipy : 1.10.0
sqlalchemy : 2.0.21
tables : None
tabulate : 0.9.0
xarray : None
xlrd : 2.0.1
zstandard : None
tzdata : 2023.3
qtpy : None
pyqt5 : None