diff --git a/pandas/core/reshape/concat.py b/pandas/core/reshape/concat.py index 2db8655a882ca..c8a0a365dcc28 100644 --- a/pandas/core/reshape/concat.py +++ b/pandas/core/reshape/concat.py @@ -5,6 +5,7 @@ from __future__ import annotations from collections import abc +from itertools import pairwise import types from typing import ( TYPE_CHECKING, @@ -417,13 +418,11 @@ def concat( if ( intersect or any(not isinstance(index, DatetimeIndex) for index in non_concat_axis) - or all( - prev is curr for prev, curr in zip(non_concat_axis, non_concat_axis[1:]) - ) + or all(prev is curr for prev, curr in pairwise(non_concat_axis)) or ( all( prev[-1] <= curr[0] and prev.is_monotonic_increasing - for prev, curr in zip(non_concat_axis, non_concat_axis[1:]) + for prev, curr in pairwise(non_concat_axis) if not prev.empty and not curr.empty ) and non_concat_axis[-1].is_monotonic_increasing diff --git a/pyproject.toml b/pyproject.toml index cd151ad7bbe27..694f555f0d620 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -453,7 +453,6 @@ exclude = [ "pandas/core/groupby/grouper.py" = ["B905"] "pandas/core/groupby/ops.py" = ["B905"] "pandas/core/methods/to_dict.py" = ["B905"] -"pandas/core/reshape/concat.py" = ["B905"] "pandas/core/reshape/encoding.py" = ["B905"] "pandas/core/reshape/melt.py" = ["B905"] "pandas/core/reshape/merge.py" = ["B905"]