title: How can I mask elements of a record array in Numpy?
body: <p>I understand how to create a masked array, and I would like to use masking in a record array so that I can access this data using named attributes.  The masking seems to be "lost" when I create a record array from a masked array:</p>
  
  <pre><code>&gt;&gt;&gt; data = np.ma.array(np.ma.zeros(30, dtype=[('date', '|O4'), ('price', '&lt;f8')]),mask=[i&lt;10 for i in range(30)])
  &gt;&gt;&gt; data
  masked_array(data = [(--, --) (--, --) (--, --) (--, --) (--, --) (--, --) (--, --) (--, --)
  (--, --) (--, --) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0)
  (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0) (0, 0.0)],
           mask = [(True, True) (True, True) (True, True) (True, True) (True, True)
  (True, True) (True, True) (True, True) (True, True) (True, True)
  (False, False) (False, False) (False, False) (False, False) (False, False)
  (False, False) (False, False) (False, False) (False, False) (False, False)
  (False, False) (False, False) (False, False) (False, False) (False, False)
  (False, False) (False, False) (False, False) (False, False) (False, False)],
     fill_value = ('?', 1e+20),
          dtype = [('date', '|O4'), ('price', '&lt;f8')])
  
  &gt;&gt;&gt; r = data.view(np.recarray)
  &gt;&gt;&gt; r
  rec.array([(0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0),
             (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0),
             (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0),
             (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0),
             (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0)], 
             dtype=[('date', '|O4'), ('price', '&lt;f8')])
  </code></pre>
  
  <p>When I access a record the data is not masked:</p>
  
  <pre><code>&gt;&gt;&gt; r.date[0]
  0
  </code></pre>
  
  <p>Unlike in the original array:</p>
  
  <pre><code>&gt;&gt;&gt; data['date'][0]
  masked_array(data = --,
               mask = True,
         fill_value = 1e+20)
  
         fill_value = 1e+20)
  </code></pre>
  
  <p>What can I do?  Does the record array not support masking?  Browsing on the web I have seen some code examples that seem to suggest otherwise, but it wasn't very clear.  Hoping I can get a good answer here.</p>