Доступ построчно к массивному структурированному массиву

Я пытаюсь получить доступ к структурированному массиву построчно, перебирая значения одного из его полей, но даже если значение повторяется хорошо, срез массива не изменяется. Вот мой SWE:

import numpy as np
dt=np.dtype([('name',np.unicode,80),('x',np.float),('y',np.float)])
a=np.array( [('a',0.,0.),('b',0.,0.),('c',0.,0.) ],dtype=dt)
for n in a['name']:
  print n,a['name'==n]

дает мне:

a (u'a', 0.0, 0.0)
b (u'a', 0.0, 0.0)
c (u'a', 0.0, 0.0)

На каждой итерации у меня всегда один и тот же фрагмент массива... странно?

1 ответ

Решение

Последняя строка не верна. Индекс массива оценивается как Истина или Ложь, а не поиск именованного столбца. Попробуй это:

for n in a['name']:
    print n,a[a['name']==n]
Другие вопросы по тегам