@@ -1968,7 +1968,6 @@ def _validate_validate_kwd(self, validate: str) -> None:
19681968
19691969 def sample_duplicates (keys , limit = 10 ):
19701970 """Return up to 'limit' unique duplicate keys."""
1971- keys = Index (keys )
19721971 dups = keys [keys .duplicated ()]
19731972 if not len (dups ):
19741973 return []
@@ -1977,31 +1976,33 @@ def sample_duplicates(keys, limit=10):
19771976 # Check data integrity
19781977 if validate in ["one_to_one" , "1:1" ]:
19791978 if not left_unique and not right_unique :
1980- combined_keys = list (left_keys .append (right_keys ))
1981- sample = sample_duplicates (combined_keys , limit = 10 )
1979+ left_sample = sample_duplicates (left_keys , limit = 5 )
1980+ right_sample = sample_duplicates (right_keys , limit = 5 )
1981+
19821982 raise MergeError (
19831983 "Merge keys are not unique in either left "
1984- "or right dataset; not a one-to-one merge"
1985- f"Offending keys (sample): { sample } "
1984+ "or right dataset; not a one-to-one merge. "
1985+ f"Offending keys in left dataset (sample): { left_sample } "
1986+ f"Offending keys in right dataset (sample): { right_sample } "
19861987 )
19871988 if not left_unique :
19881989 sample = sample_duplicates (left_keys )
19891990 raise MergeError (
1990- "Merge keys are not unique in left dataset; not a one-to-one merge"
1991+ "Merge keys are not unique in left dataset; not a one-to-one merge. "
19911992 f"Offending keys (sample): { sample } "
19921993 )
19931994 if not right_unique :
19941995 sample = sample_duplicates (right_keys )
19951996 raise MergeError (
1996- "Merge keys are not unique in right dataset; not a one-to-one merge"
1997+ "Merge keys are not unique in right dataset; not a one-to-one merge. "
19971998 f"Offending keys (sample): { sample } "
19981999 )
19992000
20002001 elif validate in ["one_to_many" , "1:m" ]:
20012002 if not left_unique :
20022003 sample = sample_duplicates (left_keys )
20032004 raise MergeError (
2004- "Merge keys are not unique in left dataset; not a one-to-many merge"
2005+ "Merge keys are not unique in left dataset; not a one-to-many merge. "
20052006 f"Offending keys (sample): { sample } "
20062007
20072008 )
@@ -2011,7 +2012,7 @@ def sample_duplicates(keys, limit=10):
20112012 sample = sample_duplicates (right_keys )
20122013 raise MergeError (
20132014 "Merge keys are not unique in right dataset; "
2014- "not a many-to-one merge"
2015+ "not a many-to-one merge. "
20152016 f"Offending keys (sample): { sample } "
20162017 )
20172018
0 commit comments