numpy.recarray
-
class numpy.recarray[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.Возвращает: 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Итератор по массиву в 1D. 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])Возвращает максимальное значение по заданной оси. 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 и 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 bytes, содержащий сырые байты данных массива. tofile(fid[, sep, format])Записывает массив в файл в виде текста или двоичных данных (по умолчанию). tolist()Возвращает массив в виде (возможно вложенного) списка. tostring([order])Создаёт объект Python bytes, содержащий сырые байты данных массива. trace([offset, axis1, axis2, dtype, out])Возвращает сумму по диагоналям массива. transpose(*axes)Возвращает представление массива с переставленными осями. var([axis, dtype, out, ddof, keepdims])Возвращает дисперсию элементов массива вдоль заданной оси. view([dtype, type])Новое представление массива с теми же данными.
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.recarray.html