numpy.recarray
-
class numpy.recarray[source] -
Создаёт ndarray, позволяющий получать доступ к полям через атрибуты.
Массивы могут иметь типы данных, содержащие поля, аналогичные столбцам в таблице. Примером является
[(x, int), (y, float)], где каждая запись в массиве представляет пару(int, float). Обычно эти атрибуты доступны через обращение по ключу в словаре, например,arr['x']иarr['y']. Массивы типа record позволяют обращаться к полям как к членам массива, используя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.Возвращает: rec : recarray
Пустой массив заданной формы и типа.
Другие параметры: titles : кортеж строк, необязательно
Псевдонимы для имён столбцов. Например, если
namesбыло('x', 'y', 'z')иtitlesравно('x_coordinate', 'y_coordinate', 'z_coordinate'), тоarr['x']эквивалентно какarr.x, так иarr.x_coordinate.byteorder : {‘<’, ‘>’, ‘=’}, необязательно
Порядок байтов для всех полей.
aligned : bool, необязательно
Выровнять поля в памяти так, как это делает компилятор C.
strides : кортеж целых чисел, необязательно
Буфер (
buf) интерпретируется по этим шагам (шаги определяют, сколько байтов занимает каждый элемент массива, строка, столбец и т. д. в памяти).offset : целое число, необязательно
Начать чтение буфера (
buf) с этого смещения.order : {‘C’, ‘F’}, необязательно
Порядок строк (стиль C) или столбцов (стиль Fortran).
См. также
-
rec.fromrecords - Создать массив записей из данных.
-
record - базовый тип данных для
recarray. -
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', float), ('y', int)]) >>> x array([(1.0, 2), (3.0, 4)], dtype=[('x', '<f8'), ('y', '<i4')])>>> 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То же, что self.transpose(), за исключением того, что self возвращается, если self.ndim < 2. baseБазовый объект, если память взята из другого объекта. ctypesОбъект для упрощения взаимодействия массива с модулем ctypes. dataОбъект Python-буфера, указывающий на начало данных массива. dtypeТип данных элементов массива. flagsИнформация о расположении памяти массива. flatИтератор 1-D по массиву. imagМнимая часть массива. itemsizeДлина одного элемента массива в байтах. nbytesОбщее количество байтов, занимаемых элементами массива. ndimЧисло измерений массива. realДействительная часть массива. shapeКортеж измерений массива. sizeКоличество элементов в массиве. stridesКортеж байтов для перехода в каждом измерении при прохождении по массиву. Методы
-
all([axis, out, keepdims])Возвращает True, если все элементы равны True. any([axis, out, keepdims])Возвращает True, если любой из элементов aравен True.argmax([axis, out])Возвращает индексы максимальных значений по заданной оси. argmin([axis, out])Возвращает индексы минимальных значений по заданной оси массива a.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()Возвращает пикл массива в виде строки. field(attr[, val])fill(value)Заполняет массив скалярным значением. flatten([order])Возвращает копию массива, сжатого до одной размерности. getfield(dtype[, offset])Возвращает поле данного массива как определённого типа. item(*args)Копирует элемент массива в стандартный Python-скаляр и возвращает его. itemset(*args)Вставляет скаляр в массив (скаляр преобразуется к типу массива, если это возможно). max([axis, out, keepdims])Возвращает максимальное значение по заданной оси. mean([axis, dtype, out, keepdims])Возвращает среднее значение элементов массива вдоль заданной оси. min([axis, out, keepdims])Возвращает минимальное значение по заданной оси. newbyteorder([new_order])Возвращает массив с теми же данными, но с другим порядком байтов. nonzero()Возвращает индексы элементов, которые не равны нулю. partition(kth[, axis, kind, order])Переупорядочивает элементы в массиве таким образом, что значение элемента в позиции kth находится в той позиции, в которой оно находилось бы в отсортированном массиве. prod([axis, dtype, out, keepdims])Возвращает произведение элементов массива по заданной оси. ptp([axis, out])Разность максимального и минимального значения (пик-пик) по заданной оси. 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, чтобы сохранить порядок. 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])Возвращает стандартное отклонение элементов массива вдоль заданной оси. sum([axis, dtype, out, keepdims])Возвращает сумму элементов массива по заданной оси. swapaxes(axis1, axis2)Возвращает представление массива с осями axis1иaxis2переставленными.
take(indices[, axis, out, mode])Возвращает массив, образованный из элементов aпо заданным индексам.tobytes([order])Создаёт Python байтовую строку, содержащую сырые данные массива. tofile(fid[, sep, format])Записывает массив в файл как текст или двоичные данные (по умолчанию). tolist()Возвращает массив в виде (возможно вложенного) списка. tostring([order])Создаёт Python байтовую строку, содержащую сырые данные массива. trace([offset, axis1, axis2, dtype, out])Возвращает сумму по диагоналям массива. transpose(*axes)Возвращает вид массива с переставленными осями. var([axis, dtype, out, ddof, keepdims])Возвращает дисперсию элементов массива по заданной оси. view([dtype, type])Новый вид массива с теми же данными.
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.recarray.html