您可以简单地分配给.dtype.names
:
>>> d = np.array([(1.0, 2), (3.0, 4)], dtype=[('a', float), ('b', int)])
>>> d
array([(1.0, 2), (3.0, 4)],
dtype=[('a', '<f8'), ('b', '<i8')])
>>> d['a']
array([ 1., 3.])
>>> d.dtype.names
('a', 'b')
>>> d.dtype.names = 'x', 'y'
>>> d
array([(1.0, 2), (3.0, 4)],
dtype=[('x', '<f8'), ('y', '<i8')])
>>> d['x']
array([ 1., 3.])
同样的方式与recarray
:
>>> d
rec.array([(1.0, 2), (3.0, 4)],
dtype=[('a', '<f8'), ('b', '<i8')])
>>> d.dtype.names = 'apple', 'pear'
>>> d
rec.array([(1.0, 2), (3.0, 4)],
dtype=[('apple', '<f8'), ('pear', '<i8')])