On a periodic table it shows that Zn and Cd and Hg all have 0 electron affinity. Why is that?
They all have 2 electrons in their highest occupied s sublevel and 10 electrons in their highest occupied d sublevel (both sublevels are full).  As a result, they can not complete any orbitals by adding an electron and they can not put an electron in a sublevel that is occupied.  All of the other transition metals will either add an electron to complete the highest s sublevel, or into an already occupied d sublevel, or (in the case of palladium) add one to an s sublevel that is empty.  

Cd, Hg and Zn thus are unique in that they will all have to put an unpaired electron alone into a p sublevel.