left.merge(right, on='key', how='left', indicator=True)\ .query('_merge == "left_only"')\ .drop(columns=['_merge'])
left[~left.key.isin(right.key)]