Модул НумПи обезбеђује функцију нумпи.вхере() за избор елемената на основу услова. Враћа елементе изабране из а или б у зависности од услова.
На пример, ако су сви аргументи -> услов, а & б прослеђени у нумпи.вхере() онда ће вратити елементе изабране из а & б у зависности од вредности у боол низу које даје услов.
Ако је обезбеђен само услов, ова функција је скраћеница функције нп.асарраи (стање).нонзеро(). Иако ненулту треба дати предност директно, пошто се понаша исправно за подкласе.
Синтакса:
numpy.where(condition[, x, y])
Параметри:
Ово су следећи параметри у функцији нумпи.вхере():
рачунарске мреже
услов: арраи_лике, боол
Ако је овај параметар постављен на Тачно, принос к, иначе принос и.
к, и: арраи_лике:
величина текста латекса
Овај параметар дефинише вредности од којих се бира. к, и и услов морају да се емитују у неком облику.
враћа:
Ова функција враћа низ са елементима из к где је услов Тачно и елементима из и на другом месту.
Пример 1: нп.вхере()
import numpy as np a=np.arange(12) b=np.where(a<6,a,5*a) b < pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have created an array 'a' using np.arange() function.</li> <li>We have declared the variable 'b' and assigned the returned value of np.where() function.</li> <li>We have passed the array 'a' in the function.</li> <li>Lastly, we tried to print the value of b.</li> </ul> <p>In the output, the values ranging from 0 to 5 remain the same as per the condition, and the other values have been multiplied with 5.</p> <p> <strong>Output:</strong> </p> <pre> array([ 0, 1, 2, 3, 4, 5, 30, 35, 40, 45, 50, 55]) </pre> <h3>Example 2: For multidimensional array</h3> <pre> import numpy as np a=np.arange(12) b=np.where([[True, False], [True, True]],[[1, 2], [3, 4]],[[9, 8], [7, 6]]) b </pre> <p> <strong>Output:</strong> </p> <pre> array([[1, 8], [3, 4]]) </pre> <h3>Example 3: Broadcasting x, y, and condition</h3> <pre> import numpy as np x, y = np.ogrid[:3, :4] a=np.where(x > y, x, 10 + y) a </pre> <p> <strong>Output:</strong> </p> <pre> array([[10, 11, 12, 13], [ 1, 11, 12, 13], [ 2, 2, 12, 13]]) </pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have created an array 'a' using np.arange() function. </li> <li>We declared the variable 'b' and assigned the returned value of np.where() function.</li> <li>We have passed a multidimensional array of boolean as a condition and x and y as an integer arrays.</li> <li>Lastly, we tried to print the value of b.</li> </ul> <p>In the output, the x value has been compared to y value if it satisfied the condition, then it will be printed x value otherwise, it will print y value, which has passed as an argument in the where() function.</p> <h3>Example 4: Broadcasting specific value</h3> <pre> x=np.array([[0,1,2],[0,2,5],[0,4,8]]) y=np.where(x<4,x,-2) y < pre> <p> <strong>Output:</strong> </p> <pre> array([[ 0, 1, 2], [ 0, 2, -2], [ 0, -2, -2]]) </pre> <hr></4,x,-2)></pre></6,a,5*a)>
Пример 2: За вишедимензионални низ
import numpy as np a=np.arange(12) b=np.where([[True, False], [True, True]],[[1, 2], [3, 4]],[[9, 8], [7, 6]]) b
Излаз:
array([[1, 8], [3, 4]])
Пример 3: Емитовање к, и и услова
import numpy as np x, y = np.ogrid[:3, :4] a=np.where(x > y, x, 10 + y) a
Излаз:
array([[10, 11, 12, 13], [ 1, 11, 12, 13], [ 2, 2, 12, 13]])
У горњем коду
шта је миспаце
- Увезли смо нумпи са псеудонимом нп.
- Направили смо низ 'а' користећи функцију нп.аранге().
- Декларисали смо променљиву 'б' и доделили враћену вредност функције нп.вхере().
- Проследили смо вишедимензионални низ логичких вредности као услов и к и и као целобројне низове.
- На крају, покушали смо да одштампамо вредност б.
У излазу, к вредност је упоређена са и вредношћу ако је задовољила услов, онда ће бити одштампана к вредност у супротном, штампаће вредност и, која је прошла као аргумент у функцији вхере().
Пример 4: Емитовање специфичне вредности
x=np.array([[0,1,2],[0,2,5],[0,4,8]]) y=np.where(x<4,x,-2) y < pre> <p> <strong>Output:</strong> </p> <pre> array([[ 0, 1, 2], [ 0, 2, -2], [ 0, -2, -2]]) </pre> <hr></4,x,-2)>
4,x,-2)>6,a,5*a)>