import pandas as pd
assert not right[["city_id", "year"]].duplicated().any()
merged = left.merge(right, on=["city_id", "year"], how="outer", validate="many_to_one", indicator=True)
print(merged["_merge"].value_counts(dropna=False))
assert len(merged) >= len(left)