numpy 结构化数组追加和删除记录

numpy Structured arrays append and remove records

假设我们有这个结构化数组:

x = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)],
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])

如何删除第一行:('Rex', 9, 81.0) ? 以及如何添加另一行 ??

你想要这个吗:(with 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')])

np.append and np.delete:

>>> 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')])