There are three types of missing data: Missing Completely At Random (MCAR), Missing At Random (MAR) and Missing Not At Random (MNAR).
Your case is the second, where according to wikipedia it:
occurs when the missingness is not random, but where missingness can be fully accounted for by variables where there is complete information
This means that the presence or not of entries in
zone can be derived from the column
Because the values aren't missing completely at random, normal imputation techniques (e.g. fill with the most common value) shouldn't be applied. Instead I'd recommend treating the missing values as their own category. Just create a category (let's say
not available) and fill the missing with this value. From a data science view this makes more sense.