I have a code using lots of "numpy.where" to make some constrained calculations as in:
data = arange(10) result = np.where(data == 0, 0., 1./data)
# or data1 = arange(10) data2 = arange(10)+1.0 result = np.where(data1 > data2, np.sqrt(data1-data2), np.sqrt(data2-data2))
which then produces warnings like: /usr/bin/ipython:1: RuntimeWarning: invalid value encountered in sqrt
or for the first example:
/usr/bin/ipython:1: RuntimeWarning: divide by zero encountered in divide
How do I avoid these messages to appear?
I know that I could in principle use numpy.seterr. However, I do NOT want to remove these warnings for other potential divide/multiply/sqrt etc errors. Only when I am using a "where", to in fact avoid such warnings! Note that the warnings only happen once, but since I am going to release that code, I would like to avoid the user to get such messages which are irrelevant here (because I am testing, with the where, when NOT to divide by zero or take a sqrt of a negative number).