В данном руководстве рассмотрим работу функции Numpy place() в Python на примерах.
Что такое функция numpy place()?
Функция Numpy place(array, mask, vals) вносит изменения в массив в соответствии с параметрами — условиями и значением(использует первые N-значения для помещения в массив в соответствии с маской, установленной пользователем). Она работает противоположно numpy.extract().
Функция place() определена в Numpy, которую можно импортировать как import NumPy as np, и мы можем создавать многомерные массивы и получать другую математическую статистику.
Синтаксис
|
1 |
numpy.place(array, mask, vals) |
Параметры
array: отображает входной массив, в который нужно было внести изменения.
mask: описывает логическое условие. Должен иметь тот же размер, что и входной массив.
value: представляет значения, которые должны быть добавлены в массив. На основе условия маски он добавляет в массив только N элементов. Если в случае значения в value меньше маски, то повторяются одни и те же значения.
Возвращаемое значение
Функция NumPy place() возвращает измененный массив, заданный на момент ввода, с добавленными значениями по маске.
Примеры

Напишем программу, показывающую работу функции place() Numpy.
Пример 1
|
1 2 3 4 5 6 7 8 |
import numpy as np array = np.arange(12).reshape(3, 4) print("Original array : \n", array) # Putting new elements a = np.place(array, array > 5, [10, 15, 25]) print("\nPutting up elements to array: \n", array) |
Выход:
|
1 2 3 4 5 6 7 8 9 |
Original array : [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] Putting up elements to array: [[ 0 1 2 3] [ 4 5 10 15] [25 10 15 25]] |
Объяснение.
В приведенном выше коде исходный массив, элементы которого были больше 5, был заменен значениями [10,15,25]. Когда список был заполнен. Затем это повторилось.
Пример 2
См. следующий код.
|
1 2 3 4 5 6 7 8 |
import numpy as np array = np.arange(6).reshape(2, 3) print("\n\nOriginal array : \n", array) # Putting new elements a = np.place(array, array > 6, [22, 55]) print("\nPutting new elements to array : \n", array) |
Выход:
|
1 2 3 4 5 6 7 |
Original array : [[0 1 2] [3 4 5]] Putting new elements to array : [[0 1 2] [3 4 5]] |
Объяснение.
На выходе возвращается исходный массив. Это произошло потому, что условие маски было задано для изменения элементов, значения которых были больше 5, поскольку в массиве не было элементов.
Таким образом, исходный массив был возвращен без изменений.
