<pre><code>In [128]: arr=np.rec.array([('b8:27:eb:07:65:ad', '0.130s', 255),
...: ('b8:27:eb:07:65:ad', '0.120s', 215),
...: ('b8:27:eb:07:65:ad', '0.130s', 168) ],
...: dtype=[('col1', '<U17'), ('col2', '<U17'), ('col3', '<i4')])
</code></pre>
<p>这是一个1d数组,包含3个字段:</p>
<pre><code>In [129]: arr
Out[129]:
rec.array([('b8:27:eb:07:65:ad', '0.130s', 255),
('b8:27:eb:07:65:ad', '0.120s', 215),
('b8:27:eb:07:65:ad', '0.130s', 168)],
dtype=[('col1', '<U17'), ('col2', '<U17'), ('col3', '<i4')])
</code></pre>
<p>我们可以通过以下方式查看一个字段:</p>
<pre><code>In [130]: arr['col3']
Out[130]: array([255, 215, 168], dtype=int32)
</code></pre>
<p>并获取其值的布尔掩码:</p>
<pre><code>In [131]: arr['col3']<179
Out[131]: array([False, False, True])
</code></pre>
<p>并使用该遮罩从整个数组中选择元素:</p>
<pre><code>In [132]: arr[arr['col3']<179]
Out[132]:
rec.array([('b8:27:eb:07:65:ad', '0.130s', 168)],
dtype=[('col1', '<U17'), ('col2', '<U17'), ('col3', '<i4')])
</code></pre>
<p>由于它是一个<code>rec.array</code>,而不仅仅是一个结构化数组,因此我们还可以将字段作为属性进行访问:</p>
<pre><code>In [135]: print(arr[arr.col3<254])
[('b8:27:eb:07:65:ad', '0.120s', 215) ('b8:27:eb:07:65:ad', '0.130s', 168)]
</code></pre>