title: Numpy - Replace a number with NaN
body: <p>I am looking to replace a number with NaN in numpy and am looking for a function like numpy.nan_to_num, except in reverse.</p>
  
  <p>The number is likely to change as different arrays are processed because each can have a uniquely define NoDataValue.  I have see people using dictionaries, but the arrays are large and filled with both positive and negative floats.  I suspect that it is not efficient to try to load all of these into anything to create keys.</p>
  
  <p>I tried using the following and numpy requiring that I use any() or all().  I realize that I need to iterate element wise, but hope that a built-in function can achieve this.</p>
  
  <pre><code>def replaceNoData(scanBlock, NDV):
      for n, i in enumerate(array):
          if i == NDV:
              scanBlock[n] = numpy.nan
  </code></pre>
  
  <p>NDV is GDAL's no data value and array is a numpy array.</p>
  
  <p>Is a masked array the way to go perhaps?</p>