Массив — это основная структура данных библиотеки NumPy. Массив NumPy представляет собой сетку значений одного типа, индексированную кортежем неотрицательных целых чисел.
Разберем, как создавать массивы NumPy в Python, включая одномерные, двумерные и трехмерные.
Все массивы являются экземплярами класса ndarray. Чтобы создать новый массив NumPy, вы используете функцию array() библиотеки NumPy.
Создание одномерных массивов
В следующем примере функция array() используется для создания одномерного(1-D) массива:
import numpy as np a = np.array([1, 2, 3]) print(type(a)) print(a)
Выход:
<class 'numpy.ndarray'> [1 2 3]
Как это работает.
- Сначала импортируйте библиотеку numpy как np:
import numpy as np
- Во-вторых, создайте одномерный массив, передав список из трех целых чисел:
a = np.array([1, 2, 3])
Функция array() возвращает новый экземпляр типа ndarray. Таким образом, type(a) возвращает <class ‘numpy.ndarray’>.
Одномерный массив известен как вектор.
Получение размерности
Чтобы получить количество измерений массива, вы используете свойство ndim. В NumPy размеры называются осями. Например:
import numpy as np a = np.array([1, 2, 3]) print(a.ndim)
Выход:
1
В этом примере свойство ndim возвращает единицу, как и ожидалось.
Получение типа данных элементов массива
Чтобы получить тип данных элементов массива, используйте свойство dtype. Например:
import numpy as np a = np.array([1, 2, 3]) print(a.dtype)
Выход:
int32
В этом примере тип элементов — int32. Если вы хотите установить тип элементов массива, вы можете использовать аргумент dtype функции array(). Например:
import numpy as np a = np.array([1, 2, 3], dtype=np.float64) print(a) print(a.dtype)
Выход:
[1. 2. 3.] float64
В этом примере числа массива имеют десятичную точку(.), а тип данных его элементов — float64.
Создание двумерных массивов
В следующем примере функция array() используется для создания двумерного(2-D) массива:
import numpy as np
b = np.array(
[
[1, 2, 3],
[4, 5, 6]
]
)
print(b)
print(b.ndim)
Выход:
[[1 2 3] [4 5 6]] 2
В этом примере мы передаем список целых чисел в функцию array(). Свойство ndim возвращает 2, как и ожидалось.
Хороший совет, чтобы узнать количество измерений массива, — считать квадратные скобки([), пока не встретите первое число. Количество квадратных скобок — это количество измерений или осей.
Двумерный массив еще называют матрицей.
Создание трехмерного массива
В следующем примере функция array() используется для создания трехмерного(3-D) массива:
import numpy as np
c = np.array(
[
[
[1, 2, 3],
[4, 5, 6]
],
[
[7, 8, 9],
[10, 11, 12]
],
]
)
print(c.ndim)
Выход:
3
Обратите внимание, что трехмерный массив также называется тензором.
Получение форм массивов
Чтобы найти количество осей и количество элементов на каждой оси массива, вы используете свойство shape. Например:
import numpy as np
a = np.array([1, 2, 3])
print(a.shape) #(3,)
b = np.array(
[
[1, 2, 3],
[4, 5, 6]
]
)
print(b.shape) #(2, 3)
c = np.array(
[
[
[1, 2, 3],
[4, 5, 6]
],
[
[7, 8, 9],
[10, 11, 12]
],
]
)
print(c.shape) #(2, 2, 3)
Выход:
(3,) (2, 3) (2, 2, 3)
На следующем рисунке объясняется форма каждого массива a, b и c:
Свойство shape возвращает кортеж:
- Количество элементов в кортеже — это количество осей.
- Каждый элемент кортежа хранит количество элементов соответствующей оси.
