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

Функция place

Функция place заменяет элементы массива на значения из второго массива, где маска имеет значение True. Первым параметром передается массив для изменения. Вторым параметром - маска (булев массив). Третьим параметром - значения для вставки. Если значений больше, чем элементов для замены, лишние игнорируются. Функция изменяет массив на месте и ничего не возвращает.

Синтаксис

np.place(arr, mask, values)

Параметры

Основные параметры функции place:

  • arr - массив для изменения
  • mask - булев массив, определяющий позиции для замены
  • values - значения для вставки

Пример 1

Заменим четные элементы на 0:

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

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

[1 0 3 0 5 0]

Пример 2

Используем несколько значений для замены:

import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) mask = arr > 2 np.place(arr, mask, [10, 20, 30]) print(arr)

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

[1 2 10 20 30 10]

Пример 3

Замена отрицательных элементов в двумерном массиве:

import numpy as np arr = np.array([[-1, 2, -3], [4, -5, 6]]) mask = arr < 0 np.place(arr, mask, [0, 0]) print(arr)

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

[[0 2 0] [4 0 6]]

Пример 4

Сравнение place и putmask:

import numpy as np arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([1, 2, 3, 4, 5]) mask = arr1 > 2 np.place(arr1, mask, [10, 20]) np.putmask(arr2, mask, [10, 20]) print("place:", arr1) print("putmask:", arr2)

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

place: [1 2 10 20 10] putmask: [1 2 10 20 10]

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

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