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

Функция choose

Функция choose создает новый массив, выбирая элементы из последовательности массивов согласно значениям индексов в исходном массиве. Первым параметром функция принимает массив индексов. Вторым параметром передается последовательность массивов, из которых будут выбираться элементы. Третьим параметром можно указать режим работы с параметром mode.

Синтаксис

np.choose(a, choices, [mode])

Пример

Выберем элементы из двух массивов на основе индексов:

import numpy as np a = np.array([0, 1, 0, 1]) choices = [np.array([10, 20, 30, 40]), np.array([50, 60, 70, 80])] res = np.choose(a, choices) print(res)

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

[10 60 30 80]

Пример

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

import numpy as np a = np.array([[0, 1], [1, 0]]) choices = [np.array([[10, 20], [30, 40]]), np.array([[50, 60], [70, 80]])] res = np.choose(a, choices) print(res)

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

[[10 60] [70 40]]

Пример

Используем режим для обработки индексов вне диапазона:

import numpy as np a = np.array([0, 2, 1, 3]) choices = [np.array([1, 2, 3, 4]), np.array([5, 6, 7, 8]), np.array([9, 10, 11, 12])] res = np.choose(a, choices, mode='clip') print(res)

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

[1 12 7 12]

Пример

Выберем элементы для создания условного массива:

import numpy as np a = np.array([0, 0, 1, 1, 0]) choices = [np.array([-1, -1, -1, -1, -1]), np.array([1, 1, 1, 1, 1])] res = np.choose(a, choices) print(res)

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

[-1 -1 1 1 -1]

Пример

Используем трехмерный массив для сложного выбора:

import numpy as np a = np.array([[[0, 1], [1, 0]], [[0, 1], [1, 0]]]) choices = [np.array([10, 20, 30, 40, 50, 60, 70, 80]).reshape(2, 2, 2), np.array([90, 100, 110, 120, 130, 140, 150, 160]).reshape(2, 2, 2)] res = np.choose(a, choices) print(res)

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

[[[ 10 100] [110 40]] [[ 50 140] [150 80]]]

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

  • функцию take,
    которая выбирает элементы из массива по индексам
  • функцию where,
    которая возвращает индексы элементов, удовлетворяющих условию
  • функцию select,
    которая выбирает элементы по нескольким условиям
  • функцию compress,
    которая выбирает элементы по условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить