Well, for the sake of two passes of a loop, I think the code reads more clearly the way it is.
Actually, I tried to avoid using numpy altogether, but I couldn't find a neater rounding method.
(Can say ```if abs(val - int(val + 0.5)) > 1e-5:``` but I don't think that's terribly clear)