Объект ndarray в NumPy
Самая важная особенность NumPy — это объект N-мерного массива ndarray, который представляет собой коллекцию данных одного типа, где индексация элементов начинается с нижнего индекса 0.
Объект ndarray — это многомерный массив, используемый для хранения элементов одного типа.
Каждый элемент в ndarray занимает в памяти область одинакового размера.
Внутренне ndarray состоит из следующего:
-
Указатель на данные (блок данных в памяти или файл, отображаемый в память).
-
Тип данных или dtype, описывающий сетку значений фиксированного размера в массиве.
-
Кортеж, представляющий форму массива, кортеж, представляющий размер каждого измерения.
-
Кортеж шагов (strides), в котором целые числа указывают количество байтов, которые нужно "перешагнуть", чтобы перейти к следующему элементу в текущем измерении.
Внутренняя структура ndarray:

Шаги (strides) могут быть отрицательными, что заставляет массив двигаться назад в памяти; при срезах, obj[::-1]илиobj[:,::-1]это как раз такой случай.
Чтобы создать ndarray, просто вызовите функцию array в NumPy:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
Описание параметра:
| Name | Описание |
|---|---|
| объект | Массив или вложенная последовательность |
| dtype | Тип данных элементов массива, необязательно |
| copy | Нужно ли копировать объект, необязательно |
| order | Стиль создания массива: C — для построчного порядка, F — для постолбцового порядка, A — для любого направления (по умолчанию) |
| subok | По умолчанию возвращает массив, соответствующий типу базового класса |
| ndmin | Задает минимальную размерность создаваемого массива |
Пример
Далее следующие примеры помогут нам лучше понять.
Пример 1
Результат вывода следующий:
[1 2 3]
Пример 2
Результат вывода следующий:
[[1 2] [3 4]]
Пример 3
Вывод следующий:
[[1 2 3 4 5]]
Пример 4
Результат вывода следующий:
[1.+0.j 2.+0.j 3.+0.j]
Объект ndarray состоит из непрерывного одномерного сегмента компьютерной памяти в сочетании с шаблоном индексации, который сопоставляет каждый элемент с позицией в блоке памяти. Блок памяти хранит элементы в порядке строк (стиль C) или в порядке столбцов (стиль FORTRAN или MatLab, т. е. вышеупомянутый стиль F).
Другие расширения