diff --git a/pandas/compat/pyarrow.py b/pandas/compat/pyarrow.py index 8dcb2669aa663..beb4814914101 100644 --- a/pandas/compat/pyarrow.py +++ b/pandas/compat/pyarrow.py @@ -14,6 +14,7 @@ pa_version_under13p0 = _palv < Version("13.0.0") pa_version_under14p0 = _palv < Version("14.0.0") pa_version_under14p1 = _palv < Version("14.0.1") + pa_version_under15p0 = _palv < Version("15.0.0") except ImportError: pa_version_under10p1 = True pa_version_under11p0 = True @@ -21,3 +22,4 @@ pa_version_under13p0 = True pa_version_under14p0 = True pa_version_under14p1 = True + pa_version_under15p0 = True diff --git a/pandas/tests/io/test_parquet.py b/pandas/tests/io/test_parquet.py index cd4075076062c..9ae2d5cb03afd 100644 --- a/pandas/tests/io/test_parquet.py +++ b/pandas/tests/io/test_parquet.py @@ -15,6 +15,7 @@ from pandas.compat.pyarrow import ( pa_version_under11p0, pa_version_under13p0, + pa_version_under15p0, ) import pandas as pd @@ -752,7 +753,10 @@ def test_unsupported_float16(self, pa): # Not able to write float 16 column using pyarrow. data = np.arange(2, 10, dtype=np.float16) df = pd.DataFrame(data=data, columns=["fp16"]) - self.check_external_error_on_write(df, pa, pyarrow.ArrowException) + if pa_version_under15p0: + self.check_external_error_on_write(df, pa, pyarrow.ArrowException) + else: + check_round_trip(df, pa) @pytest.mark.xfail( is_platform_windows(), @@ -761,6 +765,7 @@ def test_unsupported_float16(self, pa): "dtypes are passed to_parquet function in windows" ), ) + @pytest.mark.skipif(not pa_version_under15p0, reason="float16 works on 15") @pytest.mark.parametrize("path_type", [str, pathlib.Path]) def test_unsupported_float16_cleanup(self, pa, path_type): # #44847, #44914