numpy.rec.array — NumPy v2.3.dev0 Manual (original) (raw)
rec.array(obj, dtype=None, shape=None, offset=0, strides=None, formats=None, names=None, titles=None, aligned=False, byteorder=None, copy=True)[source]#
Construct a record array from a wide-variety of objects.
A general-purpose record array constructor that dispatches to the appropriate recarray creation function based on the inputs (see Notes).
Parameters:
objany
Input object. See Notes for details on how various input types are treated.
dtypedata-type, optional
Valid dtype for array.
shapeint or tuple of ints, optional
Shape of each array.
offsetint, optional
Position in the file or buffer to start reading from.
stridestuple of ints, optional
Buffer (buf) is interpreted according to these strides (strides define how many bytes each array element, row, column, etc. occupy in memory).
formats, names, titles, aligned, byteorder
If dtype is None
, these arguments are passed to_numpy.format_parser_ to construct a dtype. See that function for detailed documentation.
copybool, optional
Whether to copy the input object (True), or to use a reference instead. This option only applies when the input is an ndarray or recarray. Defaults to True.
Returns:
np.recarray
Record array created from the specified object.
Notes
If obj is None
, then call the recarray constructor. If_obj_ is a string, then call the fromstring constructor. If obj is a list or a tuple, then if the first object is an ndarray, callfromarrays, otherwise call fromrecords. If obj is arecarray, then make a copy of the data in the recarray (if copy=True
) and use the new formats, names, and titles. If _obj_is a file, then call fromfile. Finally, if obj is an ndarray, then return obj.view(recarray)
, making a copy of the data if copy=True
.
Examples
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) a array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.rec.array(a) rec.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=int64)
b = [(1, 1), (2, 4), (3, 9)] c = np.rec.array(b, formats = ['i2', 'f2'], names = ('x', 'y')) c rec.array([(1, 1.), (2, 4.), (3, 9.)], dtype=[('x', '<i2'), ('y', '<f2')])
c.x array([1, 2, 3], dtype=int16)
c.y array([1., 4., 9.], dtype=float16)
r = np.rec.array(['abc','def'], names=['col1','col2']) print(r.col1) abc
r.col1 array('abc', dtype='<U3')
r.col2 array('def', dtype='<U3')