If you have a city which has an INCOME of 1000 denarii per turn, a population of 10,000, your army costs 10,000 denarii upkeep per turn and the total population of all your cities is 100,000.
Your city represents 10% of the total population [10,000 / 100,000]
Therefore, army upkeep costs of 1000 denarii per turn will be assigned to your city [10% of total army upkeep], which means that on the campaign map, the city will show "0", even though it gives you 1000 denarii per turn.
If the city is conquered/rebels and you then re-conquer it and exterminate the population, the figure on the campaign map will change. Say that after the extermination, the city's population is now 1,000, and your total population is now 91,000.
Now your city represents 1% of your total population and so only 1% of army upkeep will be assinged to it, which would be 100 denarii per turn.
Now, on the campaign map, a positive (green) figure of 900 denarii would be shown below the city's name, even though the city still gives you 1000 denarii per turn.