@@ -1230,7 +1230,7 @@ def _maybe_restore_index_levels(self, result: DataFrame) -> None:
12301230 """
12311231 names_to_restore = []
12321232 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
12341234 ):
12351235 if (
12361236 # Argument 1 to "_is_level_reference" of "NDFrame" has incompatible
@@ -1263,7 +1263,7 @@ def _maybe_add_join_keys(
12631263
12641264 assert all (isinstance (x , _known ) for x in self .left_join_keys )
12651265
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 )
12671267 for i , (name , lname , rname ) in enumerate (keys ):
12681268 if not _should_fill (lname , rname ):
12691269 continue
@@ -1572,7 +1572,7 @@ def _get_merge_keys(
15721572
15731573 # ugh, spaghetti re #733
15741574 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 ):
15761576 lk = extract_array (lk , extract_numpy = True )
15771577 rk = extract_array (rk , extract_numpy = True )
15781578 if is_lkey (lk ):
@@ -1635,7 +1635,7 @@ def _get_merge_keys(
16351635 right_keys = [
16361636 lev ._values .take (lev_codes )
16371637 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
16391639 )
16401640 ]
16411641 else :
@@ -1657,7 +1657,7 @@ def _get_merge_keys(
16571657 left_keys = [
16581658 lev ._values .take (lev_codes )
16591659 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
16611661 )
16621662 ]
16631663 else :
@@ -1674,7 +1674,7 @@ def _maybe_coerce_merge_keys(self) -> None:
16741674 # or if we have object and integer dtypes
16751675
16761676 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
16781678 ):
16791679 if (len (lk ) and not len (rk )) or (not len (lk ) and len (rk )):
16801680 continue
@@ -2042,7 +2042,7 @@ def get_join_indexers(
20422042 _factorize_keys (left_keys [n ], right_keys [n ], sort = sort )
20432043 for n in range (len (left_keys ))
20442044 )
2045- zipped = zip (* mapped )
2045+ zipped = zip (* mapped , strict = True )
20462046 llab , rlab , shape = (list (x ) for x in zipped )
20472047
20482048 # get flat i8 keys from label lists
@@ -2427,7 +2427,7 @@ def _check_dtype_match(left: ArrayLike, right: ArrayLike, i: int) -> None:
24272427 raise MergeError (msg )
24282428
24292429 # 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 )):
24312431 _check_dtype_match (lk , rk , i )
24322432
24332433 if self .left_index :
@@ -2612,7 +2612,7 @@ def _get_multiindex_indexer(
26122612 _factorize_keys (index .levels [n ]._values , join_keys [n ], sort = sort )
26132613 for n in range (index .nlevels )
26142614 )
2615- zipped = zip (* mapped )
2615+ zipped = zip (* mapped , strict = True )
26162616 rcodes , lcodes , shape = (list (x ) for x in zipped )
26172617 if sort :
26182618 rcodes = list (map (np .take , rcodes , index .codes ))
0 commit comments