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: он создаёт новый массив записей, но не заполняет его данными. Чтобы создать массив записей из данных, используйте один из следующих методов:- Создайте стандартный ndarray и преобразуйте его в массив записей, используя
arr.view(np.recarray) - Используйте параметр
buf. - Используйте
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-
Кортеж байтов для шага в каждом измерении при прохождении по массиву.
Методы
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()Комплексно сопряженные все элементы.
Возвращает комплексно сопряжённое значение, поэлементно.
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по заданным индексам.
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