From c53106004285a9bd0e125094e0dbe28b338973cf Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Wed, 10 Nov 2021 09:45:57 +0100 Subject: [PATCH 1/4] TST/COMPAT: update csv test to infer time with pyarrow>=6.0 --- pandas/compat/pyarrow.py | 1 + pandas/tests/io/parser/test_parse_dates.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/pandas/compat/pyarrow.py b/pandas/compat/pyarrow.py index 9bf7139769baa..50c3ec5db73af 100644 --- a/pandas/compat/pyarrow.py +++ b/pandas/compat/pyarrow.py @@ -12,6 +12,7 @@ pa_version_under3p0 = _palv < Version("3.0.0") pa_version_under4p0 = _palv < Version("4.0.0") pa_version_under5p0 = _palv < Version("5.0.0") + pa_version_under6p0 = _palv < Version("6.0.0") except ImportError: pa_version_under1p0 = True pa_version_under2p0 = True diff --git a/pandas/tests/io/parser/test_parse_dates.py b/pandas/tests/io/parser/test_parse_dates.py index 17c107814995c..d0d900f80f007 100644 --- a/pandas/tests/io/parser/test_parse_dates.py +++ b/pandas/tests/io/parser/test_parse_dates.py @@ -26,6 +26,7 @@ is_platform_windows, np_array_datetime64_compat, ) +from pandas.compat.pyarrow import pa_version_under6p0 import pandas as pd from pandas import ( @@ -431,6 +432,11 @@ def test_date_col_as_index_col(all_parsers): columns=["X0", "X2", "X3", "X4", "X5", "X6", "X7"], index=index, ) + if parser.engine == "pyarrow" and not pa_version_under6p0: + # https://github.com/pandas-dev/pandas/issues/44231 + # pyarrow 6.0 starts to infer time type + expected["X2"] = pd.to_datetime(expected["X2"]).time + tm.assert_frame_equal(result, expected) From 62cb8550dbb10c7c1b69d1b68b6df952801575ab Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Wed, 10 Nov 2021 11:31:35 +0100 Subject: [PATCH 2/4] fixup --- pandas/compat/pyarrow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandas/compat/pyarrow.py b/pandas/compat/pyarrow.py index 50c3ec5db73af..f9b9409317774 100644 --- a/pandas/compat/pyarrow.py +++ b/pandas/compat/pyarrow.py @@ -19,3 +19,4 @@ pa_version_under3p0 = True pa_version_under4p0 = True pa_version_under5p0 = True + pa_version_under6p0 = True From 6961eecfb50118e116e50add06cc98c8f8141790 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Wed, 10 Nov 2021 11:34:10 +0100 Subject: [PATCH 3/4] fix out of bounds --- pandas/tests/io/parser/test_parse_dates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/io/parser/test_parse_dates.py b/pandas/tests/io/parser/test_parse_dates.py index d0d900f80f007..57b1e28829949 100644 --- a/pandas/tests/io/parser/test_parse_dates.py +++ b/pandas/tests/io/parser/test_parse_dates.py @@ -435,7 +435,7 @@ def test_date_col_as_index_col(all_parsers): if parser.engine == "pyarrow" and not pa_version_under6p0: # https://github.com/pandas-dev/pandas/issues/44231 # pyarrow 6.0 starts to infer time type - expected["X2"] = pd.to_datetime(expected["X2"]).time + expected["X2"] = pd.to_datetime("1970-01-01" + expected["X2"]).time tm.assert_frame_equal(result, expected) From 5ac497f6761e56d68dbdd185862767abe0207f86 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Wed, 10 Nov 2021 13:32:04 +0100 Subject: [PATCH 4/4] fixup accessor --- pandas/tests/io/parser/test_parse_dates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/io/parser/test_parse_dates.py b/pandas/tests/io/parser/test_parse_dates.py index 57b1e28829949..c8bea9592e82a 100644 --- a/pandas/tests/io/parser/test_parse_dates.py +++ b/pandas/tests/io/parser/test_parse_dates.py @@ -435,7 +435,7 @@ def test_date_col_as_index_col(all_parsers): if parser.engine == "pyarrow" and not pa_version_under6p0: # https://github.com/pandas-dev/pandas/issues/44231 # pyarrow 6.0 starts to infer time type - expected["X2"] = pd.to_datetime("1970-01-01" + expected["X2"]).time + expected["X2"] = pd.to_datetime("1970-01-01" + expected["X2"]).dt.time tm.assert_frame_equal(result, expected)