Replace your numpy.where() line with this:
new_values = numpy.random.binomial(1, p * count, size=result.size) result = numpy.where(result == 1, "Z", new_values)
This will replace zeros with an array of new random values.