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

Функция fromfunction

Функция fromfunction создает массив NumPy путем применения пользовательской функции к координатам индексов каждого элемента. Первым параметром функция принимает вызываемый объект (функцию), вторым - кортеж с размерами массива, а третьим, опциональным, можно задать тип данных элементов.

Синтаксис

np.fromfunction(function, shape, [dtype])

Пример

Давайте создадим одномерный массив, где каждый элемент равен квадрату своего индекса:

import numpy as np def square_index(i): return i ** 2 arr = np.fromfunction(square_index, (5,)) print(arr)

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

[ 0 1 4 9 16]

Пример

Создадим двумерный массив, где каждый элемент вычисляется как произведение индекса строки и индекса столбца:

import numpy as np def multiply_indices(i, j): return i * j arr = np.fromfunction(multiply_indices, (3, 4)) print(arr)

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

[[0 0 0 0] [0 1 2 3] [0 2 4 6]]

Пример

Используем лямбда-функцию для создания трехмерного массива размером 2x2x2, где значение равно сумме индексов по всем осям:

import numpy as np arr = np.fromfunction(lambda x, y, z: x + y + z, (2, 2, 2)) print(arr)

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

[[[0 1] [1 2]] [[1 2] [2 3]]]

Пример

Укажем тип данных float для создания массива вещественных чисел. В качестве функции используем синус от индекса:

import numpy as np arr = np.fromfunction(lambda i: np.sin(i), (5,), dtype=float) print(arr)

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

[ 0. 0.84147098 0.90929743 0.14112001 -0.7568025 ]

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

  • функцию array,
    которая создает массив из списка, кортежа или другого массива
  • функцию fromiter,
    которая создает массив из итерируемого объекта
  • функцию fromstring,
    которая создает массив из строки с данными
  • функцию meshgrid,
    которая создает координатные сетки для векторных вычислений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить