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

Функция atleast_3d

Функция atleast_3d преобразует скаляры, списки, кортежи и одномерные или двумерные массивы в трехмерные массивы NumPy. Она автоматически определяет необходимую размерность и добавляет новые оси в начало или в конец формы массива для достижения трехмерности. Функция может принимать один или несколько входных объектов, возвращая либо один массив, либо список массивов.

Синтаксис

np.atleast_3d(*arrays)

Параметры функции:

  • *arrays - один или несколько входных объектов (скаляры, списки, кортежи или массивы NumPy), которые необходимо привести к трехмерному виду.

Возвращаемое значение:

  • Если передан один объект, возвращается трехмерный массив NumPy.
  • Если передано несколько объектов, возвращается список трехмерных массивов.

Пример

Давайте преобразуем скаляр в трехмерный массив:

import numpy as np arr = np.atleast_3d(5) print(arr) print("Shape:", arr.shape)

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

[[[5]]] Shape: (1, 1, 1)

Пример

Преобразуем одномерный массив из пяти элементов в трехмерный:

import numpy as np arr_1d = np.array([1, 2, 3, 4, 5]) arr_3d = np.atleast_3d(arr_1d) print(arr_3d) print("Shape:", arr_3d.shape)

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

[[[1] [2] [3] [4] [5]]] Shape: (1, 5, 1)

Обратите внимание: форма одномерного массива (5,) была преобразована в (1, 5, 1), где первая и последняя оси имеют размерность 1.

Пример

Преобразуем двумерный массив в трехмерный:

import numpy as np arr_2d = np.array([[1, 2, 3], [4, 5, 6]]) arr_3d = np.atleast_3d(arr_2d) print(arr_3d) print("Shape:", arr_3d.shape)

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

[[[1] [2] [3]] [[4] [5] [6]]] Shape: (2, 3, 1)

Двумерный массив формы (2, 3) стал трехмерным с формой (2, 3, 1), где новая ось добавлена в конец.

Пример

Преобразуем несколько объектов одновременно в список трехмерных массивов:

import numpy as np scalar = 7 arr_1d = np.array([10, 20, 30]) arr_2d = np.array([[1, 2], [3, 4]]) res = np.atleast_3d(scalar, arr_1d, arr_2d) for i, arr in enumerate(res): print(f"Array {i}: shape = {arr.shape}")

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

Array 0: shape = (1, 1, 1) Array 1: shape = (1, 3, 1) Array 2: shape = (2, 2, 1)

Каждый входной объект был преобразован в трехмерный массив, и все они собраны в один список.

Пример

Если входной массив уже имеет три измерения, функция не изменяет его:

import numpy as np arr_3d_original = np.array([[[1, 2], [3, 4]]]) arr_3d_result = np.atleast_3d(arr_3d_original) print("Original shape:", arr_3d_original.shape) print("Result shape:", arr_3d_result.shape) print("Are they the same object?", arr_3d_original is arr_3d_result)

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

Original shape: (1, 2, 2) Result shape: (1, 2, 2) Are they the same object? True

Функция возвращает исходный массив без копирования, если он уже является трехмерным.

Пример

Преобразуем список в трехмерный массив, не создавая промежуточный массив:

import numpy as np arr = np.atleast_3d([1, 2, 3, 4, 5]) print(arr) print("Shape:", arr.shape)

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

[[[1] [2] [3] [4] [5]]] Shape: (1, 5, 1)

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

  • функцию atleast_1d,
    которая приводит входные данные к одномерным массивам
  • функцию atleast_2d,
    которая приводит входные данные к двумерным массивам
  • функцию expand_dims,
    которая расширяет форму массива, вставляя новую ось в указанной позиции
  • функцию squeeze,
    которая удаляет оси размерности 1 из формы массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить