numpy.core.records.array#
- core.records.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
isNone
, these arguments are passed tonumpy.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 therecarray
constructor. If obj is a string, then call thefromstring
constructor. If obj is a list or a tuple, then if the first object is anndarray
, callfromarrays
, otherwise callfromrecords
. If obj is arecarray
, then make a copy of the data in the recarray (ifcopy=True
) and use the new formats, names, and titles. If obj is a file, then callfromfile
. Finally, if obj is anndarray
, then returnobj.view(recarray)
, making a copy of the data ifcopy=True
.Examples
>>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>> np.core.records.array(a) rec.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=int32)
>>> b = [(1, 1), (2, 4), (3, 9)] >>> c = np.core.records.array(b, formats = ['i2', 'f2'], names = ('x', 'y')) >>> c rec.array([(1, 1.0), (2, 4.0), (3, 9.0)], dtype=[('x', '<i2'), ('y', '<f2')])
>>> c.x rec.array([1, 2, 3], dtype=int16)
>>> c.y rec.array([ 1.0, 4.0, 9.0], 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')