Объект 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

import numpy as np a = np.array([1,2,3]) print (a)

Результат вывода следующий:

[1 2 3]

Пример 2

# More than one dimension import numpy as np a = np.array([[1, 2], [3, 4]]) print (a)

Результат вывода следующий:

[[1  2] 
 [3  4]]

Пример 3

# Minimum dimension import numpy as np a = np.array([1, 2, 3, 4, 5], ndmin = 2) print (a)

Вывод следующий:

[[1 2 3 4 5]]

Пример 4

# dtype parameter import numpy as np a = np.array([1, 2, 3], dtype = complex) print (a)

Результат вывода следующий:

[1.+0.j 2.+0.j 3.+0.j]

Объект ndarray состоит из непрерывного одномерного сегмента компьютерной памяти в сочетании с шаблоном индексации, который сопоставляет каждый элемент с позицией в блоке памяти. Блок памяти хранит элементы в порядке строк (стиль C) или в порядке столбцов (стиль FORTRAN или MatLab, т. е. вышеупомянутый стиль F).

Другие расширения