Создание массивов NumPy в Python с примерами
Массив — это основная структура данных библиотеки 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 возвращает кортеж:
- Количество элементов в кортеже — это количество осей.
- Каждый элемент кортежа хранит количество элементов соответствующей оси.