From 5ff6095e3a23174eaf9bb5efafbf28c4468b0d88 Mon Sep 17 00:00:00 2001 From: Li Date: Fri, 7 Nov 2025 06:05:46 +0000 Subject: [PATCH 1/3] BUG 55136: add test --- pandas/tests/dtypes/test_dtypes.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pandas/tests/dtypes/test_dtypes.py b/pandas/tests/dtypes/test_dtypes.py index 95be5f3768be6..75aa9f689b939 100644 --- a/pandas/tests/dtypes/test_dtypes.py +++ b/pandas/tests/dtypes/test_dtypes.py @@ -1,3 +1,5 @@ +from contextlib import redirect_stdout +import io import re import warnings import weakref @@ -1259,3 +1261,18 @@ def test_categorical_nan_no_dtype_conversion(): expected = pd.DataFrame({"a": Categorical([1], [1]), "b": [1]}) df.loc[0, "a"] = np.array([1]) tm.assert_frame_equal(df, expected) + + +def test_dt_to_pydatetime_conversion(): + expected = "datetime" + + df = pd.DataFrame({"ts": [pd.Timestamp("2024-01-01 12:00:00").as_unit("ns")]}) + df["ts"] = df.ts.dt.to_pydatetime() + assert df["ts"].dtype == expected + + buffer = io.StringIO() + with redirect_stdout(buffer): + df.info() + + output = buffer.getvalue() + assert expected in output From 3dd48f43a0541008bdb3da82524d9871ef186fb3 Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 19 Nov 2025 04:47:07 +0000 Subject: [PATCH 2/3] add msg --- pandas/tests/dtypes/test_dtypes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/tests/dtypes/test_dtypes.py b/pandas/tests/dtypes/test_dtypes.py index 471a1456c4af9..137307a177022 100644 --- a/pandas/tests/dtypes/test_dtypes.py +++ b/pandas/tests/dtypes/test_dtypes.py @@ -1265,7 +1265,7 @@ def test_dt_to_pydatetime_conversion(): df = pd.DataFrame({"ts": [pd.Timestamp("2024-01-01 12:00:00").as_unit("ns")]}) df["ts"] = df.ts.dt.to_pydatetime() - assert df["ts"].dtype == expected + assert df["ts"].dtype == expected, f"actual={df['ts'].dtype}, expected={expected}" buffer = io.StringIO() with redirect_stdout(buffer): From 9d6d7b3df4be2bded563267b6fc1a3170dccb9cb Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 19 Nov 2025 06:05:31 +0000 Subject: [PATCH 3/3] fix the expected type --- pandas/tests/dtypes/test_dtypes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/dtypes/test_dtypes.py b/pandas/tests/dtypes/test_dtypes.py index 137307a177022..0f34119e13025 100644 --- a/pandas/tests/dtypes/test_dtypes.py +++ b/pandas/tests/dtypes/test_dtypes.py @@ -1261,10 +1261,10 @@ def test_categorical_nan_no_dtype_conversion(): def test_dt_to_pydatetime_conversion(): - expected = "datetime" + expected = "datetime64[us]" df = pd.DataFrame({"ts": [pd.Timestamp("2024-01-01 12:00:00").as_unit("ns")]}) - df["ts"] = df.ts.dt.to_pydatetime() + df["ts"] = np.array(df.ts.dt.to_pydatetime()) assert df["ts"].dtype == expected, f"actual={df['ts'].dtype}, expected={expected}" buffer = io.StringIO()