Одним из ключевых понятий, с которым нужно столкнуться в NumPy, является понятие "измерения" в массивах. Понимание того, сколько измерений имеет ваш массив и что это означает, критически важно. Давайте рассмотрим эту концепцию подробнее с помощью атрибута ndim
.
Атрибут ndim
представляет собой целое число, указывающее на количество измерений (или "осей") массива. Проще говоря, это число глубины вложенности вашего массива.
Пример 1: Одномерный массив (вектор)
Давайте начнем с самого простого — одномерного массива.
import numpy as np
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d.ndim)
# 1
Массив содержит только одно измерение, и это подтверждается значением ndim
.
Пример 2: Двумерный массив (матрица)
Перейдем к чуть более сложному случаю — двумерному массиву.
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d.ndim)
# 2
Так как у нас есть матрица (по сути, вложенные списки), у нас есть два измерения, что и отображается в значении ndim
.
Пример 3: Трехмерный массив
Давайте усложним еще больше.
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(array_3d.ndim)
# 3
Теперь у нас есть три измерения в нашем массиве, что подтверждается значением ndim
.
Пример 4: Работа с многомерными массивами
Чем выше размерность вашего массива, тем сложнее его визуализировать. Однако можно представить 4-мерный массив как "список" 3-мерных массивов, 5-мерный массив как "список" 4-мерных массивов и так далее.
array_4d = np.zeros((2, 3, 4, 5))
print(array_4d.ndim)
# 4
Здесь у нас есть 4-мерный массив, содержащий два 3-мерных массива, каждый из которых, в свою очередь, содержит три 2-мерных массива размером 4x5.
shape
, всегда стоит проверить измерения ваших данных при их загрузке.ndim
для отладки: Если ваш код не работает, как ожидается, проверьте измерения ваших массивов. Возможно, проблема кроется именно в них.Есть прямая связь между shape
и ndim
массива. ndim
— это просто количество элементов кортежа shape
. Например, если у вас есть массив с формой (3, 4, 5), его ndim
будет равен 3.
ndim
— это мощный атрибут, который дает вам быстрое понимание глубины и структуры вашего массива в NumPy. Он играет ключевую роль в понимании вашего набора данных, особенно в сложных и многомерных датасетах.
Содержание: