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:

  1. Create a standard ndarray and convert it to a record array, using arr.view(np.recarray)
  2. Use the buf keyword.
  3. 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:

T

View of the transposed array.

base

Base object if memory is from some other object.

ctypes

An object to simplify the interaction of the array with the ctypes module.

data

Python buffer object pointing to the start of the array’s data.

device

dtype

Data-type of the array’s elements.

flags

Information about the memory layout of the array.

flat

A 1-D iterator over the array.

imag

The imaginary part of the array.

itemset

itemsize

Length of one array element in bytes.

mT

View of the matrix transposed array.

nbytes

Total bytes consumed by the elements of the array.

ndim

Number of array dimensions.

newbyteorder

ptp

real

The real part of the array.

shape

Tuple of array dimensions.

size

Number of elements in the array.

strides

Tuple of bytes to step in each dimension when traversing an array.

Methods