Spec-Zone.ru › NumPy 1.21

numpy.recarray

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]

Создаёт массив 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) порядок.

См. также

core.records.fromrecords

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

record

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

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, указывающий на начало данных массива.

dtype

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

flags

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

flat

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

imag

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

itemsize

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

nbytes

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

ndim

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

real

Действительная часть массива.

shape

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

size

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

strides

Кортеж байтов, на которые необходимо сдвинуться в каждом измерении при проходе по массиву.

Методы

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

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

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

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

argmax([axis, out])

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

argmin([axis, out])

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

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])

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

dot(b[, out])

Скалярное произведение двух массивов.

dump(file)

Сохраняет пикл массива в указанный файл.

dumps()

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

fill(value)

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

flatten([order])

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

getfield(dtype[, offset])

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

item(*args)

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

itemset(*args)

Вставляет скаляр в массив (скаляр приводится к типу массива, если это возможно).

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

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

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

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

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

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

newbyteorder([new_order])

Возвращает массив с теми же данными, но с другим порядком байтов.

nonzero()

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

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

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

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

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

ptp([axis, out, keepdims])

Пиковое значение (максимум - минимум) по заданной оси.

put(indices, values[, mode])

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

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 и UPDATEIFCOPY) соответственно.

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 по заданным индексам.

tobytes([order])

Создаёт Python-строку байтов, содержащую сырые данные байтов массива.

tofile(fid[, sep, format])

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

tolist()

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

tostring([order])

Альтернативное имя для tobytes, с абсолютно таким же поведением.

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

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

transpose(*axes)

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

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

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

view([dtype][, type])

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

поле

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

Spec-Zone.ru

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