NumPy — это библиотека Python, предоставляющая поддержку для работы с большими многомерными массивами и матрицами, а также множество функций для выполнения математических операций с этими массивами.
Когда вы создаете массив с помощью NumPy, вы фактически создаете объект ndarray
.
import numpy as np
arr_1d = np.array([1, 2, 3, 4, 5])
print(arr_1d)
#[1 2 3 4 5]
Двумерные массивы:
Массивы могут быть не только одномерными. Для создания двумерного массива (или матрицы) вы можете передать список списков:
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr_2d)
Вывод:
[[1 2 3]
[4 5 6]
[7 8 9]]
Когда мы работаем с многомерными массивами (также известными как тензоры) в NumPy, два ключевых атрибута, которые помогут нам понять его структуру, — это shape
и ndim
.
Атрибут shape возвращает кортеж, который описывает форму массива. Это, по сути, показывает, сколько элементов содержится в каждом измерении.
(n,)
, где n
— это количество элементов в векторе.(n, m)
, где n
— это количество строк, а m
— количество столбцов.(n, m, p)
и так далее.Примеры:
import numpy as np
vector = np.array([1, 2, 3, 4, 5])
print(vector.shape) # (5,)
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix.shape) # (3, 3)
tensor = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(tensor.shape) # (2, 2, 2)
Атрибут ndim
возвращает число, указывающее количество измерений (или "осей") массива.
ndim
вернет 1.Примеры:
import numpy as np
vector = np.array([1, 2, 3, 4, 5])
print(vector.ndim) # 1
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix.ndim) # 2
tensor = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(tensor.ndim) # 3
В отличие от стандартных списков Python, где каждый элемент может иметь свой тип, массивы в NumPy характеризуются тем, что все их элементы имеют одинаковый тип данных. Это обеспечивает высокую производительность операций, особенно при работе с большими объемами данных.
dtype
— это объект, который информирует о типе данных для элементов массива. NumPy предоставляет целый ряд предопределенных типов данных, которые можно использовать для создания массивов.
Основные типы данных (dtype) в NumPy:
Целые числа:
Вещественные числа:
Комплексные числа:
Булев тип:
True
или False
Строковый тип:
Объект:
Примеры использования:
import numpy as np
arr_int = np.array([1, 2, 3], dtype=np.int32)
print(arr_int.dtype) # int32
arr_float = np.array([1.1, 2.2, 3.3], dtype=np.float64)
print(arr_float.dtype) # float64
arr_complex = np.array([1 + 2j, 3 + 4j])
print(arr_complex.dtype) # complex128
arr_bool = np.array([True, False, True])
print(arr_bool.dtype) # bool
arr_str = np.array(["apple", "banana", "cherry"], dtype=np.string_)
print(arr_str.dtype) # |S6 (строка максимальной длины 6 символов)
arr_obj = np.array([1, "two", [3, 3, 3]], dtype=object)
print(arr_obj.dtype) # object
Точное знание типов данных и их использование в NumPy позволяют оптимизировать использование памяти и ускорять операции, особенно при работе с большими объемами данных.
NumPy является ключевой библиотекой для научных вычислений в Python. Он предоставляет поддержку для работы с большими многомерными массивами и имеет обширный набор функций для математических операций над этими массивами.
Содержание: