From b6318f6619e6e710d85e5ce1d24d1333adb4399d Mon Sep 17 00:00:00 2001 From: Marvin Gravert Date: Tue, 18 Apr 2023 16:38:05 +0200 Subject: [PATCH 1/3] adds a test for overflow problem #35665 --- pandas/tests/frame/test_constructors.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pandas/tests/frame/test_constructors.py b/pandas/tests/frame/test_constructors.py index 4815fde4d9d6c..87c629d8bbf04 100644 --- a/pandas/tests/frame/test_constructors.py +++ b/pandas/tests/frame/test_constructors.py @@ -82,6 +82,15 @@ def test_constructor_from_ndarray_with_str_dtype(self): df = DataFrame(arr, dtype=str) expected = DataFrame(arr.astype(str)) tm.assert_frame_equal(df, expected) + + def test_no_overflow_of_freq_and_time_in_dataframe(self): + # GH 35665 + foo = pd.DataFrame( + {'some_string': ['2222Y3'], + 'time': [pd.Timedelta("0 days 00:00:00.990000")] + }) + for _, row in foo.iterrows(): + assert row.dtype=="object" def test_constructor_from_2d_datetimearray(self, using_array_manager): dti = date_range("2016-01-01", periods=6, tz="US/Pacific") From e345fc4655e60d9d70cdb8128acdcd46def822be Mon Sep 17 00:00:00 2001 From: Marvin Gravert Date: Tue, 18 Apr 2023 16:49:23 +0200 Subject: [PATCH 2/3] fix namespace error --- pandas/tests/frame/test_constructors.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pandas/tests/frame/test_constructors.py b/pandas/tests/frame/test_constructors.py index 87c629d8bbf04..4a709eca984fb 100644 --- a/pandas/tests/frame/test_constructors.py +++ b/pandas/tests/frame/test_constructors.py @@ -82,15 +82,17 @@ def test_constructor_from_ndarray_with_str_dtype(self): df = DataFrame(arr, dtype=str) expected = DataFrame(arr.astype(str)) tm.assert_frame_equal(df, expected) - + def test_no_overflow_of_freq_and_time_in_dataframe(self): # GH 35665 - foo = pd.DataFrame( - {'some_string': ['2222Y3'], - 'time': [pd.Timedelta("0 days 00:00:00.990000")] - }) + foo = DataFrame( + { + "some_string": ["2222Y3"], + "time": [Timedelta("0 days 00:00:00.990000")], + } + ) for _, row in foo.iterrows(): - assert row.dtype=="object" + assert row.dtype == "object" def test_constructor_from_2d_datetimearray(self, using_array_manager): dti = date_range("2016-01-01", periods=6, tz="US/Pacific") From c6f41c1437aa5635f5e38cb72197386e1bb7c6c7 Mon Sep 17 00:00:00 2001 From: Marvin Gravert Date: Tue, 18 Apr 2023 17:47:44 +0200 Subject: [PATCH 3/3] moves test into separate file and renames variable --- pandas/tests/frame/methods/test_iterrows.py | 16 ++++++++++++++++ pandas/tests/frame/test_constructors.py | 11 ----------- 2 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 pandas/tests/frame/methods/test_iterrows.py diff --git a/pandas/tests/frame/methods/test_iterrows.py b/pandas/tests/frame/methods/test_iterrows.py new file mode 100644 index 0000000000000..0bd0bed76dc9d --- /dev/null +++ b/pandas/tests/frame/methods/test_iterrows.py @@ -0,0 +1,16 @@ +from pandas import ( + DataFrame, + Timedelta, +) + + +def test_no_overflow_of_freq_and_time_in_dataframe(): + # GH 35665 + df = DataFrame( + { + "some_string": ["2222Y3"], + "time": [Timedelta("0 days 00:00:00.990000")], + } + ) + for _, row in df.iterrows(): + assert row.dtype == "object" diff --git a/pandas/tests/frame/test_constructors.py b/pandas/tests/frame/test_constructors.py index 4a709eca984fb..4815fde4d9d6c 100644 --- a/pandas/tests/frame/test_constructors.py +++ b/pandas/tests/frame/test_constructors.py @@ -83,17 +83,6 @@ def test_constructor_from_ndarray_with_str_dtype(self): expected = DataFrame(arr.astype(str)) tm.assert_frame_equal(df, expected) - def test_no_overflow_of_freq_and_time_in_dataframe(self): - # GH 35665 - foo = DataFrame( - { - "some_string": ["2222Y3"], - "time": [Timedelta("0 days 00:00:00.990000")], - } - ) - for _, row in foo.iterrows(): - assert row.dtype == "object" - def test_constructor_from_2d_datetimearray(self, using_array_manager): dti = date_range("2016-01-01", periods=6, tz="US/Pacific") dta = dti._data.reshape(3, 2)