From f29a3dc9a1e60cf3b3c2f479058fc1e7fb300ed7 Mon Sep 17 00:00:00 2001 From: Unkwn1 Date: Sat, 13 Dec 2025 04:00:20 -0600 Subject: [PATCH 1/3] STY: add strict parameter to changes from issue 62843 --- pandas/core/reshape/concat.py | 7 +++++-- pyproject.toml | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pandas/core/reshape/concat.py b/pandas/core/reshape/concat.py index 2db8655a882ca..4c28fc10f4eb6 100644 --- a/pandas/core/reshape/concat.py +++ b/pandas/core/reshape/concat.py @@ -418,12 +418,15 @@ def concat( 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:]) + prev is curr + for prev, curr in zip(non_concat_axis, non_concat_axis[1:], strict=True) ) 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 zip( + non_concat_axis, non_concat_axis[1:], strict=True + ) 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"] From 02fcdabdab02a95786a168df722f48e5e8d33421 Mon Sep 17 00:00:00 2001 From: Unkwn1 Date: Sat, 13 Dec 2025 11:59:30 -0600 Subject: [PATCH 2/3] STY: cleanup formating --- pandas/core/reshape/concat.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandas/core/reshape/concat.py b/pandas/core/reshape/concat.py index 4c28fc10f4eb6..68aff5795cb2a 100644 --- a/pandas/core/reshape/concat.py +++ b/pandas/core/reshape/concat.py @@ -419,13 +419,15 @@ def concat( 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:], strict=True) + for prev, curr in zip( + non_concat_axis, non_concat_axis[1:], strict=False + ) ) or ( all( prev[-1] <= curr[0] and prev.is_monotonic_increasing for prev, curr in zip( - non_concat_axis, non_concat_axis[1:], strict=True + non_concat_axis, non_concat_axis[1:], strict=False ) if not prev.empty and not curr.empty ) From 8d565599a70f813ded31128e4abc1678e231f542 Mon Sep 17 00:00:00 2001 From: Unkwn1 Date: Sun, 14 Dec 2025 15:07:32 -0600 Subject: [PATCH 3/3] STY: changed zip() to pairwise() for improved readability and adhere to RUF007 --- pandas/core/reshape/concat.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/pandas/core/reshape/concat.py b/pandas/core/reshape/concat.py index 68aff5795cb2a..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,18 +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:], strict=False - ) - ) + 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:], strict=False - ) + for prev, curr in pairwise(non_concat_axis) if not prev.empty and not curr.empty ) and non_concat_axis[-1].is_monotonic_increasing