Рубрики
Без рубрики

Окончательное руководство по методу Python numpy.where()

Эй, ребята! В этой статье мы сосредоточимся на работе метода Python numpy.where ().

Автор оригинала: Pankaj Kumar.

Эй, ребята! В этой статье мы сосредоточимся на работе метода Python numpy.where () .

Работа функции numpy.where()

Модуль Python NumPy содержит множество встроенных функций для создания и управления элементами массива в целом.

Функция numpy.where () используется для возврата элементов массива на основе определенного условия s.

Синтаксис:

numpy.where(condition,a,b)
  • условие : Условие манипуляции, которое должно быть применено к массиву, должно быть упомянуто.
  • a : Если условие выполнено, т. Е. условие оказывается истинным, то функция дает a.
  • b : Если условие не выполнено, это значение возвращается функцией.

Пример 1:

import numpy as np 

data = np.array([[10,20,30], [40,50,60], [0,1,2]]) 

print(np.where(data<20,True,False)) 

В приведенном выше примере для всех элементов массива, значение данных которых < 20 , эти значения данных заменяются на True . И для всех элементов массива, значения данных которых > 20 , т. е. значения, которые не удовлетворяют условию, заменяются на False .

Выход:

[[ True False False]
 [False False False]
 [ True  True  True]]

Пример 2:

import numpy as np 


data = np.array([[10,20,30], [40,50,60], [0,1,2]]) 

data_set = np.where(data<20) 
print("Data elements less than 20:\n")

print(data[data_set]) 

В приведенном выше примере мы отобразили все элементы массива, которые меньше 20 .

Выход:

Data elements less than 20:

[10  0  1  2]

Python numpy.where() функция с несколькими условиями

Несколько условий могут быть применены вместе с функцией numpy.where () для управления элементами массива в соответствии с несколькими условиями.

Синтаксис:

numpy.where((condition1)&(condition2))
                  OR
numpy.where((condition1)|(condition2))

Пример 1:

import numpy as np 

data = np.array([[10,20,30], [40,50,60], [0,1,2]]) 

data_set = np.where((data!=20)&(data<40)) 

print(data[data_set]) 

В этом примере мы отобразили все элементы массива, значения данных которых меньше 40 и не равны 20.

Выход:

[10 30  0  1  2]

Пример 2:

import numpy as np 

data = np.array([[10,20,30], [40,50,60], [0,1,2]]) 

data_set = np.where((data<20)|(data>40)) 

print(data[data_set]) 

В приведенном выше фрагменте кода отображаются все значения данных, удовлетворяющие любому из указанных условий, т. Е. отображаются элементы массива менее 20, а также элементы массива более 40.

Вывод :

[10 50 60  0  1  2]

Замена значений массива с помощью функции numpy.where()

Используя функцию numpy.where (), мы можем заменить значения в зависимости от выполнения определенного условия.

Синтаксис:

numpy.where(condition,element1,element2)

Пример:

import numpy as np 

data = np.random.randn(2,3)
print("Data before manipulation:\n")
print(data)
data_set = np.where((data>0),data,0) 
print("\nData after manipulation:\n")
print(data_set) 

В этом примере мы заменили все элементы массива на 0, значения данных которых меньше 0, т. е. не удовлетворяют упомянутому условию.

Выход:

Data before manipulation:

[[ 0.47544941 -0.35892873 -0.28972221]
 [-0.9772084   1.04305061  1.84890316]]

Data after manipulation:

[[0.47544941 0.         0.        ]
 [0.         1.04305061 1.84890316]]

Вывод

Таким образом, в этой статье мы поняли работу функции Python numpy.where() на различных входах.

Рекомендации