Syntax:
bedövad.där (villkor, [x, y])där funktionen () kan ta två argument. Det första argumentet är obligatoriskt och det andra argumentet är valfritt. Om värdet av det första argumentet (tillstånd) är sant, då kommer utmatningen att innehålla arrayelementen från arrayen, x annars från matrisen, y. Den här funktionen returnerar indexvärdena för inmatningsmatrisen om inget valfritt argument används.
Användning av var () -funktionen:
Olika typer av booleska operatörer kan användas för att definiera tillståndet för denna funktion. Användningen av var en () -funktion med flera villkor visas i denna del av självstudien.
Exempel -1: Användning av flera villkor med logisk ELLER
Följande exempel visar användningen av var () -funktionen med och utan argumentet valfritt. Här har den logiska ELLER använt för att definiera villkoret. Den första där () -funktionen har tillämpats i en endimensionell matris som returnerar matris med index för ingångsmatrisen där villkoret kommer att returnera Sann. Den andra där () -funktionen har tillämpats i två endimensionella matriser kommer att hämta värdena från den första matrisen när villkoret returnerar True. I annat fall hämtar värdena från den andra matrisen.
# Importera NumPy-biblioteketimportera numpy som np
# Skapa en matris med hjälp av listan
np_array1 = np.array ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Värdena för inmatningsmatrisen: \ n", np_array1)
# Skapa en annan array baserat på flera villkor och en array
new_array1 = np.där ((np_array1 50))
# Skriv ut den nya matrisen
print ("Arrayens filtrerade värden: \ n", new_array1)
# Skapa en matris med hjälp av intervallvärden
np_array2 = np.arange (40, 50)
# Skapa en annan matris baserat på flera villkor och två matriser
new_array2 = np.där ((np_array1 60), np_array1, np_array2)
# Skriv ut den nya matrisen
print ("De filtrerade värdena i arrayen: \ n", new_array2)
Produktion:
Följande utdata visas efter att ovanstående skript har körts. Här har tillståndet återvänt Sann för värdena 23,11,18,33 och 38 för den första matrisen. Villkoret har återvänt Falsk för värdena 45, 43, 60, 71 och 52. Så, 42, 43, 44 och 48 har lagts till från den andra matrisen för värdena 45, 43, 60 och 52. Här är 71 utom räckhåll.
Exempel -2: Användning av flera villkor med logisk AND
Följande exempel visar hur funktionen () kan användas med flera villkor definierade av logiska och tillämpas i två endimensionella matriser. Här har två endimensionella NumPy-matriser skapats med funktionen rand (). Dessa matriser har använts i funktionen var () med flera villkor för att skapa den nya matrisen baserat på villkoren. Villkoret återkommer Sann när den första matrisens värde är mindre än 40 och värdet för den andra matrisen är större än 60. Den nya matrisen har skrivits ut senare.
# Importera NumPy-biblioteketimportera numpy som np
# Skapa två matriser med slumpmässiga värden
np_array1 = np.slumpmässig.rand (10) * 100
np_array2 = np.slumpmässig.rand (10) * 100
# Skriv ut matrisvärdena
skriv ut ("\ nVärdena för den första matrisen: \ n", np_array1)
skriv ut ("\ nVärdena för den andra matrisen: \ n", np_array2)
# Skapa en ny matris baserat på villkoren
new_array = np.där ((np_array1 60), np_array1, np_array2)
# Skriv ut den nya matrisen
print ("\ nDe filtrerade värdena för båda matriserna: \ n", new_array)
Produktion:
Följande utdata visas efter att ovanstående skript har körts. Villkoret har återvänt Falsk för alla element. Så den returnerade matrisen innehåller endast värdena från den andra matrisen.
Exempel 3: Användning av flera villkor i den flerdimensionella matrisen
Följande exempel visar hur var () -funktionen kan användas med flera villkor definierade av logiska OCH som kommer att tillämpas i två flerdimensionella matriser. Här har två flerdimensionella matriser skapats med hjälp av listor. Därefter har dessa funktioner tillämpats i där () -funktionen för att skapa den nya matrisen baserat på villkoret. Det tillstånd som används i funktionen kommer att återgå Sann där värdet för den första matrisen är jämnt och värdet för den andra matrisen är udda; annars återgår villkoret Falsk.
# Importera NumPy-biblioteketimportera numpy som np
# Skapa två flerdimensionella matriser med heltalvärden
np_array1 = np.array ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.array ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Skriv ut matrisvärdena
skriv ut ("\ nVärdena för den första matrisen: \ n", np_array1)
skriv ut ("\ nVärdena för den andra matrisen: \ n", np_array2)
# Skapa en ny matris från två matriser baserat på villkoren
new_array = np.där ((((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Skriv ut den nya matrisen
print ("\ nDe filtrerade värdena för båda matriserna: \ n", new_array)
Produktion:
Följande utdata visas efter att ovanstående skript har körts. I utgången har 43, 12, 7, 34, 9, 22, 41, 5 och 12 lagt till den nya gruppen från den andra gruppen eftersom villkoret är Falsk för dessa värden. Det första 12-värdet i den nya matrisen har lagts till från den första matrisen eftersom villkoret är Sann endast för detta värde.
Slutsats:
där funktionen () i NumPy-biblioteket är användbar för att filtrera värdena från två matriser. Skapa en ny matris genom att filtrera data från två matriser baserat på flera villkor definierade av logisk ELLER och logisk OCH har förklarats i denna handledning. Jag hoppas att läsarna kommer att kunna använda den här funktionen i sitt skript ordentligt efter att ha övat på exemplen i denna handledning.