
Одним из ключевых понятий, с которым нужно столкнуться в 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. Он играет ключевую роль в понимании вашего набора данных, особенно в сложных и многомерных датасетах.
Содержание: