diff --git a/pandas-stubs/core/frame.pyi b/pandas-stubs/core/frame.pyi index 295aad8b0..99d3e398b 100644 --- a/pandas-stubs/core/frame.pyi +++ b/pandas-stubs/core/frame.pyi @@ -1421,7 +1421,7 @@ class DataFrame(NDFrame, OpsMixin): self, other: DataFrame | Series | list[DataFrame | Series], on: _str | list[_str] | None = ..., - how: JoinHow = ..., + how: MergeHow = ..., lsuffix: _str = ..., rsuffix: _str = ..., sort: _bool = ..., diff --git a/tests/test_frame.py b/tests/test_frame.py index f67294d53..2983040b5 100644 --- a/tests/test_frame.py +++ b/tests/test_frame.py @@ -2345,6 +2345,16 @@ def test_join() -> None: check(assert_type(left.join(right, validate="1:m"), pd.DataFrame), pd.DataFrame) +def test_types_join() -> None: + df1 = pd.DataFrame({"A": [1, 2], "B": ["test", "test"]}) + df2 = pd.DataFrame({"C": [2, 3], "D": ["test", "test"]}) + check(assert_type(df1.join(df2, how="cross"), pd.DataFrame), pd.DataFrame) + check(assert_type(df1.join(df2, how="inner"), pd.DataFrame), pd.DataFrame) + check(assert_type(df1.join(df2, how="outer"), pd.DataFrame), pd.DataFrame) + check(assert_type(df1.join(df2, how="left"), pd.DataFrame), pd.DataFrame) + check(assert_type(df1.join(df2, how="right"), pd.DataFrame), pd.DataFrame) + + def test_types_ffill() -> None: # GH 44 df = pd.DataFrame([[1, 2, 3]])