Skip to content

Commit 9549661

Browse files
committed
Use safe_sort in fast_unique_multiple function and add TODOs
1 parent 67a4e58 commit 9549661

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

pandas/core/indexes/base.py

+18-14
Original file line numberDiff line numberDiff line change
@@ -2319,9 +2319,9 @@ def union(self, other, sort=True):
23192319
try:
23202320
result = sorting.safe_sort(result)
23212321
except TypeError as e:
2322-
warnings.warn("%s, sort order is undefined for "
2323-
"incomparable objects" % e, RuntimeWarning,
2324-
stacklevel=3)
2322+
warnings.warn("{}, sort order is undefined for "
2323+
"incomparable objects".format(e),
2324+
RuntimeWarning, stacklevel=3)
23252325

23262326
# for subclasses
23272327
return self._wrap_setop_result(other, result)
@@ -2395,17 +2395,17 @@ def intersection(self, other, sort=True):
23952395
taken = other.take(indexer)
23962396

23972397
if sort:
2398-
try:
2399-
taken = sorting.safe_sort(taken.values)
2400-
if self.name != other.name:
2401-
name = None
2402-
else:
2403-
name = self.name
2404-
return self._shallow_copy(taken, name=name)
2405-
except TypeError as e:
2406-
warnings.warn("%s, sort order is undefined for "
2407-
"incomparable objects" % e, RuntimeWarning,
2408-
stacklevel=3)
2398+
#try:
2399+
taken = sorting.safe_sort(taken.values)
2400+
if self.name != other.name:
2401+
name = None
2402+
else:
2403+
name = self.name
2404+
return self._shallow_copy(taken, name=name)
2405+
#except TypeError as e:
2406+
# warnings.warn("{}, sort order is undefined for "
2407+
# "incomparable objects".format(e),
2408+
# RuntimeWarning, stacklevel=3)
24092409

24102410
if self.name != other.name:
24112411
taken.name = None
@@ -3252,8 +3252,12 @@ def join(self, other, how='left', level=None, return_indexers=False,
32523252
elif how == 'right':
32533253
join_index = other
32543254
elif how == 'inner':
3255+
# TODO: sort=False here for backwards compat. It may
3256+
# be better to use the sort parameter passed into join
32553257
join_index = self.intersection(other, sort=False)
32563258
elif how == 'outer':
3259+
# TODO: sort=True here for backwards compat. It may
3260+
# be better to use the sort parameter passed into join
32573261
join_index = self.union(other)
32583262

32593263
if sort:

0 commit comments

Comments
 (0)