РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
414 of 541 menu

Атрибут shape

Атрибут shape класса ndarray возвращает кортеж, содержащий размеры массива по каждому измерению. Количество элементов в кортеже равно рангу массива (количеству осей). Атрибут доступен как для чтения, так и для записи: присвоение нового кортежа изменяет форму массива, при этом общее число элементов должно оставаться неизменным.

Синтаксис

arr.shape

Пример

Давайте создадим одномерный массив и выведем его форму:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr.shape)

Результат выполнения кода:

(5,)

Кортеж (5,) означает, что массив имеет одну ось с пятью элементами.

Пример

Рассмотрим двумерный массив:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.shape)

Результат выполнения кода:

(2, 3)

Здесь кортеж (2, 3) означает две строки и три столбца.

Пример

Атрибут shape можно использовать для изменения формы массива. Например, превратим одномерный массив в двумерный:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) arr.shape = (2, 3) print(arr)

Результат выполнения кода:

[[1 2 3] [4 5 6]]

Обратите внимание, что общее количество элементов (6) осталось неизменным. При изменении формы данные не копируются.

Пример

Если попытаться присвоить форму с другим количеством элементов, возникнет ошибка:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) try: arr.shape = (2, 4) except ValueError as e: print(e)

Результат выполнения кода:

"cannot reshape array of size 6 into shape (2,4)"

Смотрите также

  • метод reshape,
    который создаёт новый массив с изменённой формой
  • атрибут ndim,
    который возвращает количество измерений массива
  • атрибут size,
    который возвращает общее количество элементов
  • метод ravel,
    который преобразует массив в одномерный
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить