numpy.recarray — NumPy v2.3.dev0 Manual (original) (raw)
class numpy.recarray(shape, dtype=None, buf=None, offset=0, strides=None, formats=None, names=None, titles=None, byteorder=None, aligned=False, order='C')[source]#
Construct an ndarray that allows field access using attributes.
Arrays may have a data-types containing fields, analogous to columns in a spread sheet. An example is [(x, int), (y, float)]
, where each entry in the array is a pair of (int, float)
. Normally, these attributes are accessed using dictionary lookups such as arr['x']
and arr['y']
. Record arrays allow the fields to be accessed as members of the array, using arr.x
and arr.y
.
Parameters:
shapetuple
Shape of output array.
dtypedata-type, optional
The desired data-type. By default, the data-type is determined from formats, names, titles, aligned and byteorder.
formatslist of data-types, optional
A list containing the data-types for the different columns, e.g.['i4', 'f8', 'i4']
. formats does not support the new convention of using types directly, i.e. (int, float, int)
. Note that formats must be a list, not a tuple. Given that formats is somewhat limited, we recommend specifyingdtype instead.
namestuple of str, optional
The name of each column, e.g. ('x', 'y', 'z')
.
bufbuffer, optional
By default, a new array is created of the given shape and data-type. If buf is specified and is an object exposing the buffer interface, the array will use the memory from the existing buffer. In this case, the offset and strides keywords are available.
Returns:
recrecarray
Empty array of the given shape and type.
Other Parameters:
titlestuple of str, optional
Aliases for column names. For example, if names were('x', 'y', 'z')
and titles is('x_coordinate', 'y_coordinate', 'z_coordinate')
, thenarr['x']
is equivalent to both arr.x
and arr.x_coordinate
.
byteorder{‘<’, ‘>’, ‘=’}, optional
Byte-order for all fields.
alignedbool, optional
Align the fields in memory as the C-compiler would.
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).
offsetint, optional
Start reading buffer (buf) from this offset onwards.
order{‘C’, ‘F’}, optional
Row-major (C-style) or column-major (Fortran-style) order.
Notes
This constructor can be compared to empty
: it creates a new record array but does not fill it with data. To create a record array from data, use one of the following methods:
- Create a standard ndarray and convert it to a record array, using
arr.view(np.recarray)
- Use the buf keyword.
- Use np.rec.fromrecords.
Examples
Create an array with two fields, x
and y
:
import numpy as np x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', '<f8'), ('y', '<i8')]) x array([(1., 2), (3., 4)], dtype=[('x', '<f8'), ('y', '<i8')])
x['x'] array([1., 3.])
View the array as a record array:
x = x.view(np.recarray)
Create a new, empty record array:
np.recarray((2,), ... dtype=[('x', int), ('y', float), ('z', int)]) rec.array([(-1073741821, 1.2249118382103472e-301, 24547520), (3471280, 1.2134086255804012e-316, 0)], dtype=[('x', '<i4'), ('y', '<f8'), ('z', '<i4')])
Attributes:
View of the transposed array.
Base object if memory is from some other object.
An object to simplify the interaction of the array with the ctypes module.
Python buffer object pointing to the start of the array’s data.
device
Data-type of the array’s elements.
Information about the memory layout of the array.
A 1-D iterator over the array.
The imaginary part of the array.
itemset
Length of one array element in bytes.
View of the matrix transposed array.
Total bytes consumed by the elements of the array.
Number of array dimensions.
newbyteorder
ptp
The real part of the array.
Tuple of array dimensions.
Number of elements in the array.
Tuple of bytes to step in each dimension when traversing an array.
Methods