Spec-Zone.ru › NumPy 2.0

numpy.recarray

classnumpy.recarray(shape, dtype=None, buf=None, offset=0, strides=None, formats=None, names=None, titles=None, byteorder=None, aligned=False, order='C')[source]

Создаёт ndarray, позволяющий получать доступ к полям с помощью атрибутов.

Массивы могут иметь типы данных, содержащие поля, аналогичные столбцам в таблице. Примером является [(x, int), (y, float)], где каждая запись в массиве представляет собой пару (int, float). Обычно к этим атрибутам обращаются с помощью поиска по словарям, например, arr['x'] и arr['y']. Массивы записей позволяют получить доступ к полям как к членам массива, используя arr.x и arr.y.

Параметры:
shapeкортеж

Форма выходного массива.

dtypeтип данных, необязательно

Желаемый тип данных. По умолчанию тип данных определяется из formats, names, titles, aligned и byteorder.

formatsсписок типов данных, необязательно

Список, содержащий типы данных для различных столбцов, например, ['i4', 'f8', 'i4']. formats не поддерживает новую конвенцию использования типов напрямую, т.е. (int, float, int). Обратите внимание, что formats должен быть списком, а не кортежем. Учитывая, что formats несколько ограничен, мы рекомендуем указать dtype вместо этого.

namesкортеж строк, необязательно

Имя каждого столбца, например, ('x', 'y', 'z').

bufбуфер, необязательно

По умолчанию создаётся новый массив заданной формы и типа данных. Если buf указан и является объектом, предоставляющим интерфейс буфера, массив будет использовать память из существующего буфера. В этом случае доступны параметры offset и strides.

Возвращаемое значение:
recrecarray

Пустой массив заданной формы и типа.

Другие параметры:
titlesкортеж строк, необязательно

Псевдонимы имён столбцов. Например, если names были ('x', 'y', 'z') и titles это ('x_coordinate', 'y_coordinate', 'z_coordinate'), то arr['x'] эквивалентно arr.x и arr.x_coordinate.

byteorder{‘<’, ‘>’, ‘=’}, необязательно

Порядок байтов для всех полей.

alignedbool, необязательно

Выравнивать поля в памяти так, как это делал бы компилятор C.

stridesкортеж целых чисел, необязательно

Буфер (buf) интерпретируется по этим шагам (шаги определяют, сколько байтов занимает каждый элемент массива, строка, столбец и т. д. в памяти).

offsetцелое число, необязательно

Начать чтение буфера (buf) с этого смещения.

order{‘C’, ‘F’}, необязательно

Построчный (стиль C) или столбцовый (стиль Fortran) порядок.

См. также

numpy.rec.fromrecords

Создать массив записей из данных.

numpy.record

базовый тип данных для recarray.

numpy.rec.format_parser

определить тип данных из форматов, имён, названий.

Примечания

Этот конструктор можно сравнить с empty: он создаёт новый массив записей, но не заполняет его данными. Чтобы создать массив записей из данных, используйте один из следующих методов:

  1. Создайте стандартный ndarray и преобразуйте его в массив записей, используя arr.view(np.recarray)
  2. Используйте параметр buf.
  3. Используйте np.rec.fromrecords.

Примеры

Создайте массив с двумя полями, x и 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.])

Представьте массив как массив записей:

>>> x = x.view(np.recarray)
>>> x.x
array([1., 3.])
>>> x.y
array([2, 4])

Создайте новый пустой массив записей:

>>> 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')])
Атрибуты:
T

Вид транспонированного массива.

base

Базовый объект, если память взята из другого объекта.

ctypes

Объект для упрощения взаимодействия массива с модулем ctypes.

data

Объект буфера Python, указывающий на начало данных массива.

device
dtype

Тип данных элементов массива.

flags

Информация о структуре памяти массива.

flat

Итератор по массиву в виде 1-мерного объекта.

imag

Мнимая часть массива.

itemset
itemsize

Длина одного элемента массива в байтах.

mT

Вид транспонированного массива матрицы.

nbytes

Общее количество байтов, занимаемых элементами массива.

ndim

Число измерений массива.

newbyteorder
ptp
real

Вещественная часть массива.

shape

Кортеж размеров массива.

size

Количество элементов в массиве.

strides

Кортеж байтов для шага в каждом измерении при прохождении по массиву.

Методы

END_OF_DOCUMENT_MARKER

all([axis, out, keepdims, where])

Возвращает True, если все элементы равны True.

any([axis, out, keepdims, where])

Возвращает True, если любой из элементов a равен True.

argmax([axis, out, keepdims])

Возвращает индексы максимальных значений вдоль заданной оси.

argmin([axis, out, keepdims])

Возвращает индексы минимальных значений вдоль заданной оси.

argpartition(kth[, axis, kind, order])

Возвращает индексы, которые бы разделили этот массив.

argsort([axis, kind, order])

Возвращает индексы, которые бы отсортировали этот массив.

astype(dtype[, order, casting, subok, copy])

Копия массива, преобразованного к указанному типу.

byteswap([inplace])

Поменять байты элементов массива

choose(choices[, out, mode])

Используйте массив индексов для создания нового массива из набора вариантов.

clip([min, max, out])

Возвращает массив, значения которого ограничены [min, max].

compress(condition[, axis, out])

Возвращает выбранные срезы этого массива вдоль данной оси.

conj()

Комплексно сопряженные все элементы.

conjugate()

Возвращает комплексно сопряжённое значение, поэлементно.

copy([order])

Возвращает копию массива.

cumprod([axis, dtype, out])

Возвращает кумулятивное произведение элементов вдоль заданной оси.

cumsum([axis, dtype, out])

Возвращает кумулятивную сумму элементов вдоль заданной оси.

diagonal([offset, axis1, axis2])

Возвращает указанные диагонали.

dump(file)

Выгружает копию массива в указанный файл.

dumps()

Возвращает копию массива как строку.

fill(value)

Заполнить массив скалярным значением.

flatten([order])

Возвращает копию массива, сжатого в одну размерность.

getfield(dtype[, offset])

Возвращает поле заданного массива как определённого типа.

item(*args)

Скопировать элемент массива в стандартный скаляр Python и вернуть его.

max([axis, out, keepdims, initial, where])

Возвращает максимальное значение вдоль заданной оси.

mean([axis, dtype, out, keepdims, where])

Возвращает среднее значение элементов массива вдоль заданной оси.

min([axis, out, keepdims, initial, where])

Возвращает минимальное значение вдоль заданной оси.

nonzero()

Возвращает индексы элементов, которые не равны нулю.

partition(kth[, axis, kind, order])

Частично сортирует элементы в массиве таким образом, что значение элемента в позиции k-го элемента находится в позиции, в которой он был бы в отсортированном массиве.

prod([axis, dtype, out, keepdims, initial, ...])

Возвращает произведение элементов массива по данной оси.

put(indices, values[, mode])

Устанавливает a.flat[n] = values[n] для всех n в indices.

ravel([order])

Возвращает сглаженный массив.

repeat(repeats[, axis])

Повторяет элементы массива.

reshape(shape, /, *[, order])

Возвращает массив, содержащий те же данные с новой формой.

resize(new_shape[, refcheck])

Изменить форму и размер массива на месте.

round([decimals, out])

Возвращает a с каждым элементом, округленным до заданного количества десятичных знаков.

searchsorted(v[, side, sorter])

Найти индексы, где элементы v должны быть вставлены в a, чтобы сохранить порядок.

setfield(val, dtype[, offset])

Поместить значение в указанное место в поле, определённое типом данных.

setflags([write, align, uic])

Установить флаги массива WRITEABLE, ALIGNED, WRITEBACKIFCOPY соответственно.

sort([axis, kind, order])

Отсортировать массив на месте.

squeeze([axis])

Удалить оси длиной один из a.

std([axis, dtype, out, ddof, keepdims, where])

Возвращает стандартное отклонение элементов массива вдоль заданной оси.

sum([axis, dtype, out, keepdims, initial, where])

Возвращает сумму элементов массива по данной оси.

swapaxes(axis1, axis2)

Возвращает представление массива с axis1 и axis2 переставленными местами.

take(indices[, axis, out, mode])

Возвращает массив, сформированный из элементов a по заданным индексам.

END_OF_DOCUMENT_MARKER

tobytes([order])

Создать Python байты, содержащие сырые байты данных в массиве.

tofile(fid[, sep, format])

Записать массив в файл как текст или двоичные данные (по умолчанию).

tolist()

Возвращает массив как вложенный список Python с a.ndim уровнями вложенности скаляров Python.

tostring([order])

Псевдоним совместимости для tobytes с абсолютно таким же поведением.

trace([offset, axis1, axis2, dtype, out])

Возвращает сумму по диагоналям массива.

transpose(*axes)

Возвращает представление массива с переставленными осями.

var([axis, dtype, out, ddof, keepdims, where])

Возвращает дисперсию элементов массива по заданной оси.

view([dtype][, type])

Новое представление массива с теми же данными.

dot

field

to_device

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.recarray.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API