class recarray(ndarray): (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.
See Also
core.records.fromrecords
- Construct a record array from data.
record
- fundamental data-type for
recarray
. format_parser
- determine a data-type from formats, names, titles.
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:
>>> 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)
>>> x.x array([1., 3.])
>>> x.y array([2, 4])
Create a new, empty record array:
>>> np.recarray((2,), ... dtype=[('x', int), ('y', float), ('z', int)]) #doctest: +SKIP rec.array([(-1073741821, 1.2249118382103472e-301, 24547520), (3471280, 1.2134086255804012e-316, 0)], dtype=[('x', '<i4'), ('y', '<f8'), ('z', '<i4')])
Parameters | |
shape | Shape of output array. |
dtype | The desired data-type. By default, the data-type is determined
from formats , names , titles , aligned and byteorder . |
formats | 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 specifying
dtype instead. |
names | The name of each column, e.g. ('x', 'y', 'z'). |
buf | 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. |
titles | Aliases for column names. For example, if names were
('x', 'y', 'z') and titles is
('x_coordinate', 'y_coordinate', 'z_coordinate'), then
arr['x'] is equivalent to both arr.x and arr.x_coordinate. |
byteorder | Byte-order for all fields. |
aligned | Align the fields in memory as the C-compiler would. |
strides | Buffer (buf ) is interpreted according to these strides (strides
define how many bytes each array element, row, column, etc.
occupy in memory). |
offset | Start reading buffer (buf ) from this offset onwards. |
order | Row-major (C-style) or column-major (Fortran-style) order. |
Returns | |
recarray | rec - Empty array of the given shape and type. |
Method | __array |
Undocumented |
Method | __getattribute__ |
Undocumented |
Method | __getitem__ |
Undocumented |
Method | __new__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __setattr__ |
Undocumented |
Method | field |
Undocumented |
Class Variable | __module__ |
Undocumented |
Class Variable | __name__ |
Undocumented |
Instance Variable | dtype |
Undocumented |