From e087c4c08473db60ed8bc3eed34dbf56512db4cd Mon Sep 17 00:00:00 2001
From: cmp0xff <cmp0xff@gmail.com>
Date: Tue, 3 Jun 2025 17:26:26 +0200
Subject: [PATCH] fix: DataFrame.assign None

---
 pandas-stubs/core/frame.pyi | 2 +-
 tests/test_frame.py         | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi
index f872ad2f9..c0319d21d 100644
--- a/pandas-stubs/core/frame.pyi
+++ b/pandas-stubs/core/frame.pyi
@@ -794,7 +794,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
         value: Scalar | ListLikeU | None,
         allow_duplicates: _bool = ...,
     ) -> None: ...
-    def assign(self, **kwargs: IntoColumn) -> Self: ...
+    def assign(self, **kwargs: IntoColumn | None) -> Self: ...
     def align(
         self,
         other: NDFrameT,
diff --git a/tests/test_frame.py b/tests/test_frame.py
index e133a0469..6739677d2 100644
--- a/tests/test_frame.py
+++ b/tests/test_frame.py
@@ -339,6 +339,7 @@ def my_named_func_2(df: pd.DataFrame) -> pd.Series[Any]:
     check(assert_type(df.assign(c=my_unnamed_func), pd.DataFrame), pd.DataFrame)
     check(assert_type(df.assign(c=my_named_func_1), pd.DataFrame), pd.DataFrame)
     check(assert_type(df.assign(c=my_named_func_2), pd.DataFrame), pd.DataFrame)
+    check(assert_type(df.assign(c=None), pd.DataFrame), pd.DataFrame)
 
 
 def test_types_sample() -> None: