@@ -1230,7 +1230,7 @@ def _maybe_restore_index_levels(self, result: DataFrame) -> None:
1230
1230
"""
1231
1231
names_to_restore = []
1232
1232
for name , left_key , right_key in zip (
1233
- self .join_names , self .left_on , self .right_on
1233
+ self .join_names , self .left_on , self .right_on , strict = True
1234
1234
):
1235
1235
if (
1236
1236
# Argument 1 to "_is_level_reference" of "NDFrame" has incompatible
@@ -1263,7 +1263,7 @@ def _maybe_add_join_keys(
1263
1263
1264
1264
assert all (isinstance (x , _known ) for x in self .left_join_keys )
1265
1265
1266
- keys = zip (self .join_names , self .left_on , self .right_on )
1266
+ keys = zip (self .join_names , self .left_on , self .right_on , strict = True )
1267
1267
for i , (name , lname , rname ) in enumerate (keys ):
1268
1268
if not _should_fill (lname , rname ):
1269
1269
continue
@@ -1572,7 +1572,7 @@ def _get_merge_keys(
1572
1572
1573
1573
# ugh, spaghetti re #733
1574
1574
if _any (self .left_on ) and _any (self .right_on ):
1575
- for lk , rk in zip (self .left_on , self .right_on ):
1575
+ for lk , rk in zip (self .left_on , self .right_on , strict = True ):
1576
1576
lk = extract_array (lk , extract_numpy = True )
1577
1577
rk = extract_array (rk , extract_numpy = True )
1578
1578
if is_lkey (lk ):
@@ -1635,7 +1635,7 @@ def _get_merge_keys(
1635
1635
right_keys = [
1636
1636
lev ._values .take (lev_codes )
1637
1637
for lev , lev_codes in zip (
1638
- self .right .index .levels , self .right .index .codes
1638
+ self .right .index .levels , self .right .index .codes , strict = True
1639
1639
)
1640
1640
]
1641
1641
else :
@@ -1657,7 +1657,7 @@ def _get_merge_keys(
1657
1657
left_keys = [
1658
1658
lev ._values .take (lev_codes )
1659
1659
for lev , lev_codes in zip (
1660
- self .left .index .levels , self .left .index .codes
1660
+ self .left .index .levels , self .left .index .codes , strict = True
1661
1661
)
1662
1662
]
1663
1663
else :
@@ -1674,7 +1674,7 @@ def _maybe_coerce_merge_keys(self) -> None:
1674
1674
# or if we have object and integer dtypes
1675
1675
1676
1676
for lk , rk , name in zip (
1677
- self .left_join_keys , self .right_join_keys , self .join_names
1677
+ self .left_join_keys , self .right_join_keys , self .join_names , strict = True
1678
1678
):
1679
1679
if (len (lk ) and not len (rk )) or (not len (lk ) and len (rk )):
1680
1680
continue
@@ -2042,7 +2042,7 @@ def get_join_indexers(
2042
2042
_factorize_keys (left_keys [n ], right_keys [n ], sort = sort )
2043
2043
for n in range (len (left_keys ))
2044
2044
)
2045
- zipped = zip (* mapped )
2045
+ zipped = zip (* mapped , strict = True )
2046
2046
llab , rlab , shape = (list (x ) for x in zipped )
2047
2047
2048
2048
# get flat i8 keys from label lists
@@ -2427,7 +2427,7 @@ def _check_dtype_match(left: ArrayLike, right: ArrayLike, i: int) -> None:
2427
2427
raise MergeError (msg )
2428
2428
2429
2429
# validate index types are the same
2430
- for i , (lk , rk ) in enumerate (zip (left_join_keys , right_join_keys )):
2430
+ for i , (lk , rk ) in enumerate (zip (left_join_keys , right_join_keys , strict = True )):
2431
2431
_check_dtype_match (lk , rk , i )
2432
2432
2433
2433
if self .left_index :
@@ -2612,7 +2612,7 @@ def _get_multiindex_indexer(
2612
2612
_factorize_keys (index .levels [n ]._values , join_keys [n ], sort = sort )
2613
2613
for n in range (index .nlevels )
2614
2614
)
2615
- zipped = zip (* mapped )
2615
+ zipped = zip (* mapped , strict = True )
2616
2616
rcodes , lcodes , shape = (list (x ) for x in zipped )
2617
2617
if sort :
2618
2618
rcodes = list (map (np .take , rcodes , index .codes ))
0 commit comments