У меня есть список объектов, которые являются структурированными массивами, например, что-то вроде этого:
a = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)], dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
b = np.array([('Dog3', 9, 81.0), ('Dog4', 3, 27.0)], dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
c = np.array([('Dog5', 9, 81.0), ('Dog6', 3, 27.0)], dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
lst = [a, b, c]
Теперь мне нужно, чтобы этот список был сам по себе массив, потому что мне нужно использовать numpy.where()
на неми это не работает иначе.
lst = np.array(lst)
Итак, я делаю что-то вроде этого:
ID = np.where(lst == c)
lst[ID] = 0 or rather lst[ID] = None
Но вместо того, что я хотел бы получить, т.е.
>>>lst
array([a, b, 0/None], dtype=...)
, я либо получаю это:
>>>lst
array([a, b, [('0', 0, 0.), ('0', 0, 0.)]], dtype=...)
Или это вообще не работает:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Как мне это сделать?Нужно ли конвертировать lst
обратно в список?