From cbefb539521bcbbc758c36168a0e62616ef3a0f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20W=C3=B6rtwein?= Date: Mon, 26 Feb 2024 17:45:14 -0500 Subject: [PATCH 1/2] fix concat for axis=0 --- pandas-stubs/core/reshape/concat.pyi | 5 ++--- tests/test_pandas.py | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pandas-stubs/core/reshape/concat.pyi b/pandas-stubs/core/reshape/concat.pyi index 54de1be32..7ee1913b1 100644 --- a/pandas-stubs/core/reshape/concat.pyi +++ b/pandas-stubs/core/reshape/concat.pyi @@ -16,7 +16,6 @@ from typing_extensions import Never from pandas._typing import ( Axis, - AxisColumn, AxisIndex, HashableT1, HashableT2, @@ -53,7 +52,7 @@ def concat( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappin copy: bool = ..., ) -> DataFrame: ... @overload -def concat( +def concat( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload] objs: Iterable[Series | None] | Mapping[HashableT1, Series | None], *, axis: AxisIndex = ..., @@ -73,7 +72,7 @@ def concat( | Mapping[HashableT1, Series | DataFrame | None] ), *, - axis: AxisColumn, + axis: Axis = ..., join: Literal["inner", "outer"] = ..., ignore_index: bool = ..., keys: Iterable[HashableT2] = ..., diff --git a/tests/test_pandas.py b/tests/test_pandas.py index 71551bbd6..fc4800424 100644 --- a/tests/test_pandas.py +++ b/tests/test_pandas.py @@ -62,6 +62,7 @@ def test_types_concat_none() -> None: check( assert_type(pd.concat([None, series, df], axis=1), pd.DataFrame), pd.DataFrame ) + check(assert_type(pd.concat([None, series, df]), pd.DataFrame), pd.DataFrame) check(assert_type(pd.concat({"a": None, "b": series}), pd.Series), pd.Series) check(assert_type(pd.concat({"a": None, "b": df}), pd.DataFrame), pd.DataFrame) @@ -69,6 +70,10 @@ def test_types_concat_none() -> None: assert_type(pd.concat({"a": None, "b": series, "c": df}, axis=1), pd.DataFrame), pd.DataFrame, ) + check( + assert_type(pd.concat({"a": None, "b": series, "c": df}), pd.DataFrame), + pd.DataFrame, + ) if TYPE_CHECKING_INVALID_USAGE: # using assert_type as otherwise the second call would not be type-checked From 41bc40f8dc3d56d0957d183ab42ed7434fec02d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20W=C3=B6rtwein?= Date: Fri, 1 Mar 2024 21:09:09 -0500 Subject: [PATCH 2/2] 'fix' mypy --- .pre-commit-config.yaml | 4 ++-- tests/test_pandas.py | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a0e7af328..7cd5ce047 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ ci: autofix_prs: false repos: - repo: https://github.com/python/black - rev: 24.1.1 + rev: 24.2.0 hooks: - id: black - repo: https://github.com/PyCQA/isort @@ -11,7 +11,7 @@ repos: hooks: - id: isort - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.2.1 + rev: v0.3.0 hooks: - id: ruff args: [ diff --git a/tests/test_pandas.py b/tests/test_pandas.py index fc4800424..fddce825e 100644 --- a/tests/test_pandas.py +++ b/tests/test_pandas.py @@ -82,8 +82,8 @@ def test_types_concat_none() -> None: def test_types_concat() -> None: - s: pd.Series = pd.Series([0, 1, -10]) - s2: pd.Series = pd.Series([7, -5, 10]) + s = pd.Series([0, 1, -10]) + s2 = pd.Series([7, -5, 10]) check(assert_type(pd.concat([s, s2]), pd.Series), pd.Series) check(assert_type(pd.concat([s, s2], axis=1), pd.DataFrame), pd.DataFrame) @@ -171,6 +171,9 @@ def test_types_concat() -> None: adict = {"a": df, 2: df2} check(assert_type(pd.concat(adict), pd.DataFrame), pd.DataFrame) + data: pd.DataFrame | pd.Series = pd.Series() + check(assert_type(pd.concat([pd.DataFrame(), data]), pd.DataFrame), pd.DataFrame) + def test_concat_args() -> None: df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4]})