numpy.recarray#

класс numpy.recarray(shape, dtype=None, buf=None, смещение=0, strides=None, форматы=None, names=None, заголовки=None, byteorder=None, aligned=False, порядок='C')[источник]#

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

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

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

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

dtypeтип данных, опционально

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

форматысписок типов данных, опционально

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

namesкортеж из str, опционально

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

bufбуфер, опционально

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

Возвращает:
recrecarray

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

Другие параметры:
заголовкикортеж из str, опционально

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

byteorder{‘<’, ‘>’, ‘=’}, опционально

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

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

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

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

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

смещениеint, необязательный

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

порядок{'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:

>>> import numpy as np
>>> x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', '), ('y', ')])
>>> x
array([(1., 2), (3., 4)], dtype=[('x', '
>>> 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', '
Атрибуты:
T

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

base

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

ctypes

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

data

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

device
dtype

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

flags

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

flat

Одномерный итератор по массиву.

imag

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

itemsize

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

mT

Представление транспонированного массива матрицы.

nbytes

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

ndim

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

real

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

shape

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

size

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

strides

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

Методы

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

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

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(other, /[, out])

См. numpy.dot для полной документации.

dump(файл)

Сохранить pickle массива в указанный файл.

dumps()

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

fill(значение)

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

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 в индексах.

ravel([order])

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

repeat(repeats[, axis])

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

reshape(a.reshape)

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

resize(a.resize)

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

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

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

squeeze([axis])

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

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

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

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

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

swapaxes(axis1, axis2, /)

Вернуть представление массива с axis1 и axis2 поменяны местами.

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

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

to_device(device, /, *[, stream])

Для совместимости с Array API.

tobytes([order])

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

tofile(fid, /[, sep, format])

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

tolist()

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

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

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

transpose(*axes)

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

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

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

view([dtype][, type])

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

field