#python #numpy #structured-array
Вопрос:
допустим, у нас есть этот структурированный массив :
x = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)],
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
как удалить первую строку :(‘Rex’, 9, 81.0) ?
и как добавить еще одну строку ??
Комментарии:
1. твой вопрос непонятен… 1.
x[1:]
?2. вы можете преобразовать его в список: X = список(x), и для удаления вы можете просто использовать del X[0], а для добавления вы можете использовать (добавить или вставить), а затем снова преобразовать его в массив numpy
3. спасибо за совет
Ответ №1:
Вы хотите этого: (с np.insert
)
>>> x = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)],dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
>>> y = np.array([('sam', 10, 100.0)],dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
>>> np.insert(x[1:],0,y)
array([('sam', 10, 100.), ('Fido', 3, 27.)],
dtype=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')])
>>> x = np.delete(x, 1, axis=0)
>>> np.append(x, y, axis=0)
array([('Rex', 9, 81.), ('sam', 10, 100.)],
dtype=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')])
Комментарии:
1. да, это хочу, я хотел, спасибо
2. @NAS добро пожаловать, чувак 😉