From 4c3d7c42e03daff02d4ef4834f55bcbac7c1f649 Mon Sep 17 00:00:00 2001 From: Ehsan Shirvanian Date: Thu, 9 Nov 2023 15:57:51 -0500 Subject: [PATCH 1/4] provide right index name if the index is not unique --- pandas/core/ops/common.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandas/core/ops/common.py b/pandas/core/ops/common.py index 559977bacf881..9f7f8d9c9c6ce 100644 --- a/pandas/core/ops/common.py +++ b/pandas/core/ops/common.py @@ -95,6 +95,8 @@ def get_op_result_name(left, right): """ if isinstance(right, (ABCSeries, ABCIndex)): name = _maybe_match_name(left, right) + elif name is None: + name = left.name else: name = left.name return name From 8c542e6ce4254b9bce6e5f8f66a12d5e5bee0dcc Mon Sep 17 00:00:00 2001 From: Ehsan Shirvanian Date: Thu, 9 Nov 2023 16:23:11 -0500 Subject: [PATCH 2/4] provide right index name if the index is not unique --- pandas/core/ops/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/ops/common.py b/pandas/core/ops/common.py index 9f7f8d9c9c6ce..9aad7d010855a 100644 --- a/pandas/core/ops/common.py +++ b/pandas/core/ops/common.py @@ -95,10 +95,10 @@ def get_op_result_name(left, right): """ if isinstance(right, (ABCSeries, ABCIndex)): name = _maybe_match_name(left, right) - elif name is None: - name = left.name else: name = left.name + if name is None: + name = left.name return name From d2270d21027a42662d257104fcc88a5182156ee7 Mon Sep 17 00:00:00 2001 From: Ehsan Shirvanian Date: Thu, 9 Nov 2023 16:26:01 -0500 Subject: [PATCH 3/4] small optimization, remove one extra condition --- pandas/core/ops/common.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pandas/core/ops/common.py b/pandas/core/ops/common.py index 9aad7d010855a..d4e407d0fe59a 100644 --- a/pandas/core/ops/common.py +++ b/pandas/core/ops/common.py @@ -93,13 +93,12 @@ def get_op_result_name(left, right): name : object Usually a string """ - if isinstance(right, (ABCSeries, ABCIndex)): - name = _maybe_match_name(left, right) - else: - name = left.name - if name is None: - name = left.name - return name + name = ( + _maybe_match_name(left, right) + if isinstance(right, (ABCSeries, ABCIndex)) + else left.name + ) + return name if name is not None else left.name def _maybe_match_name(a, b): From 94371979a626c75a2ceb59c855be8f22d3f14acc Mon Sep 17 00:00:00 2001 From: Ehsan Shirvanian Date: Thu, 9 Nov 2023 16:48:13 -0500 Subject: [PATCH 4/4] always return left index name --- pandas/core/ops/common.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pandas/core/ops/common.py b/pandas/core/ops/common.py index d4e407d0fe59a..689ddf5003abb 100644 --- a/pandas/core/ops/common.py +++ b/pandas/core/ops/common.py @@ -93,12 +93,7 @@ def get_op_result_name(left, right): name : object Usually a string """ - name = ( - _maybe_match_name(left, right) - if isinstance(right, (ABCSeries, ABCIndex)) - else left.name - ) - return name if name is not None else left.name + return left.name def _maybe_match_name(a, b):