擅长:python、mysql、java
<p>@Zwinck建议使用结构化数组。这里有一种方法</p>
<p>为字典部分定义一个数据类型。它有不同数据类型的字段</p>
<pre><code>dt1 = np.dtype([('lanes',int), ('length',float), ('type','S2'),('modes','S2')])
</code></pre>
<p>将该数据类型嵌入一个较大的数据类型中。我对前两个值使用了子数组格式:</p>
^{pr2}$
<p>现在创建数组。我编辑了你的表达式以适应<code>dt</code>。元组和列表的混合很重要。我本来可以从你的对象数组转移数据的(todo?)在</p>
<pre><code>edge_array1 = np.array(
[([1001, 7005], ( 9, 0.35, '99','cw')),
([1001, 8259], ( 10, 0.46, '99','cw')),
([1001, 14007], (7, 0.49, '99', 'cw'))], dtype=dt)
</code></pre>
<p>现在可以通过'f0'字段名访问2个int值:</p>
<pre><code>In [513]: edge_array1['f0']
Out[513]:
array([[ 1001, 7005],
[ 1001, 8259],
[ 1001, 14007]])
</code></pre>
<p>“车道”通过字段名称索引的双重应用程序访问(因为它们是字段中的字段):</p>
<pre><code>In [514]: edge_array1['f1']['lanes']
Out[514]: array([ 9, 10, 7])
</code></pre>