Skip to content

Commit db9a50c

Browse files
authored
CLN: unused code in reshape.merge (#32509)
1 parent 5b45f4b commit db9a50c

File tree

1 file changed

+10
-39
lines changed

1 file changed

+10
-39
lines changed

pandas/core/reshape/merge.py

+10-39
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,17 @@ def merge(
9292
merge.__doc__ = _merge_doc % "\nleft : DataFrame"
9393

9494

95-
def _groupby_and_merge(
96-
by, on, left, right: "DataFrame", _merge_pieces, check_duplicates: bool = True
97-
):
95+
def _groupby_and_merge(by, on, left: "DataFrame", right: "DataFrame", merge_pieces):
9896
"""
9997
groupby & merge; we are always performing a left-by type operation
10098
10199
Parameters
102100
----------
103101
by: field to group
104102
on: duplicates field
105-
left: left frame
106-
right: right frame
107-
_merge_pieces: function for merging
108-
check_duplicates: bool, default True
109-
should we check & clean duplicates
103+
left: DataFrame
104+
right: DataFrame
105+
merge_pieces: function for merging
110106
"""
111107
pieces = []
112108
if not isinstance(by, (list, tuple)):
@@ -118,18 +114,6 @@ def _groupby_and_merge(
118114
# if we can groupby the rhs
119115
# then we can get vastly better perf
120116

121-
# we will check & remove duplicates if indicated
122-
if check_duplicates:
123-
if on is None:
124-
on = []
125-
elif not isinstance(on, (list, tuple)):
126-
on = [on]
127-
128-
if right.duplicated(by + on).any():
129-
_right = right.drop_duplicates(by + on, keep="last")
130-
# TODO: use overload to refine return type of drop_duplicates
131-
assert _right is not None # needed for mypy
132-
right = _right
133117
try:
134118
rby = right.groupby(by, sort=False)
135119
except KeyError:
@@ -151,16 +135,13 @@ def _groupby_and_merge(
151135
pieces.append(merged)
152136
continue
153137

154-
merged = _merge_pieces(lhs, rhs)
138+
merged = merge_pieces(lhs, rhs)
155139

156140
# make sure join keys are in the merged
157-
# TODO, should _merge_pieces do this?
141+
# TODO, should merge_pieces do this?
158142
for k in by:
159-
try:
160-
if k in merged:
161-
merged[k] = key
162-
except KeyError:
163-
pass
143+
if k in merged:
144+
merged[k] = key
164145

165146
pieces.append(merged)
166147

@@ -287,16 +268,11 @@ def _merger(x, y):
287268
raise ValueError("Can only group either left or right frames")
288269
elif left_by is not None:
289270
result, _ = _groupby_and_merge(
290-
left_by, on, left, right, lambda x, y: _merger(x, y), check_duplicates=False
271+
left_by, on, left, right, lambda x, y: _merger(x, y)
291272
)
292273
elif right_by is not None:
293274
result, _ = _groupby_and_merge(
294-
right_by,
295-
on,
296-
right,
297-
left,
298-
lambda x, y: _merger(y, x),
299-
check_duplicates=False,
275+
right_by, on, right, left, lambda x, y: _merger(y, x)
300276
)
301277
else:
302278
result = _merger(left, right)
@@ -1605,11 +1581,6 @@ def _validate_specification(self):
16051581
if self.direction not in ["backward", "forward", "nearest"]:
16061582
raise MergeError(f"direction invalid: {self.direction}")
16071583

1608-
@property
1609-
def _asof_key(self):
1610-
""" This is our asof key, the 'on' """
1611-
return self.left_on[-1]
1612-
16131584
def _get_merge_keys(self):
16141585

16151586
# note this function has side effects

0 commit comments

Comments
 (0)