Datalogi

Sådan bruges python NumPy hvor () fungerer under flere forhold

Sådan bruges python NumPy hvor () fungerer under flere forhold
NumPy-biblioteket har mange funktioner til at oprette arrayet i python. hvor () -funktionen er en af ​​dem til at oprette et array fra et andet NumPy-array baseret på en eller flere betingelser. Nogle operationer kan udføres på tidspunktet for oprettelse af array baseret på tilstanden ved hjælp af denne funktion. Det kan også bruges uden noget betinget udtryk. Hvordan denne funktion kan bruges med flere forhold i python vises i denne vejledning.

Syntaks:

bedøvet.hvor (betingelse, [x, y])

hvor funktionen () kan tage to argumenter. Det første argument er obligatorisk, og det andet argument er valgfrit. Hvis værdien af ​​det første argument (tilstand) er sandt, så vil output indeholde arrayelementerne fra arrayet, x ellers fra arrayet, y. Denne funktion returnerer indeksværdierne for inputmatrixen, hvis der ikke bruges et valgfrit argument.

Brug af hvor () -funktionen:

Forskellige typer boolske operatører kan bruges til at definere tilstanden for denne funktion. Brugen af ​​hvor en () funktion med flere betingelser vises i denne del af selvstudiet.

Eksempel -1: Brug af flere betingelser med logisk OR

Følgende eksempel viser brugen af ​​funktionen hvor () med og uden det valgfri argument. Her har den logiske ELLER brugt til at definere tilstanden. Den første hvor () -funktion er anvendt i et endimensionelt array, der returnerer arrayet med indekser for input-arrayet, hvor betingelsen returnerer Rigtigt. Den anden, hvor () -funktionen er anvendt i to endimensionelle arrays, henter værdierne fra det første array, når betingelsen returnerer True. Ellers henter det værdierne fra det andet array.

# Importer NumPy-bibliotek
importer numpy som np
# Opret en matrix ved hjælp af listen
np_array1 = np.array ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Værdierne for input array: \ n", np_array1)
# Opret en anden matrix baseret på flere betingelser og en matrix
new_array1 = np.hvor ((np_array1 50))
# Udskriv det nye array
print ("Matrixens filtrerede værdier: \ n", new_array1)
# Opret en matrix ved hjælp af rækkeværdier
np_array2 = np.arange (40, 50)
# Opret et andet array baseret på flere betingelser og to arrays
new_array2 = np.hvor ((np_array1 60), np_array1, np_array2)
# Udskriv det nye array
print ("Matrixens filtrerede værdier: \ n", new_array2)

Produktion:

Følgende output vises efter udførelse af ovenstående script. Her er tilstanden vendt tilbage Rigtigt for værdierne 23,11,18,33 og 38 i den første matrix. Tilstanden er vendt tilbage Falsk for værdierne 45, 43, 60, 71 og 52. Så, 42, 43, 44 og 48 er blevet tilføjet fra det andet array for værdierne 45, 43, 60 og 52. Her er 71 uden for rækkevidde.

Eksempel -2: Brug af flere betingelser med logisk AND

Det følgende eksempel viser, hvordan () -funktionen kan bruges med de mange betingelser, der er defineret af logiske og anvendt i to endimensionelle arrays. Her er to endimensionelle NumPy-arrays oprettet ved hjælp af funktionen rand (). Disse arrays er blevet brugt i hvor () -funktionen med flere betingelser for at oprette det nye array baseret på betingelserne. Tilstanden vender tilbage Rigtigt når den første matrixs værdi er mindre end 40, og værdien af ​​den anden matrix er større end 60. Den nye matrix er udskrevet senere.

# Importer NumPy-bibliotek
importer numpy som np
# Opret to arrays med tilfældige værdier
np_array1 = np.tilfældig.rand (10) * 100
np_array2 = np.tilfældig.rand (10) * 100
# Udskriv matrixværdierne
print ("\ nVærdierne for det første array: \ n", np_array1)
print ("\ nVærdierne for det andet array: \ n", np_array2)
# Opret et nyt array baseret på betingelserne
new_array = np.hvor ((np_array1 60), np_array1, np_array2)
# Udskriv det nye array
print ("\ nDe filtrerede værdier for begge arrays: \ n", new_array)

Produktion:

Følgende output vises efter udførelse af ovenstående script. Tilstanden er vendt tilbage Falsk for alle elementer. Så det returnerede array indeholder kun værdierne fra det andet array.

Eksempel 3: Brug af flere betingelser i det flerdimensionale array

Det følgende eksempel viser, hvor () -funktionen kan bruges med de mange betingelser defineret af logisk OG der vil blive anvendt i to flerdimensionale arrays. Her er to flerdimensionale arrays oprettet ved hjælp af lister. Dernæst har disse funktioner anvendt i hvor () -funktionen for at oprette det nye array baseret på betingelsen. Den anvendte tilstand i funktionen vender tilbage Rigtigt hvor værdien af ​​den første matrix er jævn, og værdien af ​​den anden matrix er ulige; Ellers vender tilstanden tilbage Falsk.

# Importer NumPy-bibliotek
importer numpy som np
# Opret to flerdimensionelle arrays med heltalværdier
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]])
# Udskriv matrixværdierne
print ("\ nVærdierne for det første array: \ n", np_array1)
print ("\ nVærdierne for det andet array: \ n", np_array2)
# Opret et nyt array fra to arrays baseret på betingelserne
new_array = np.hvor ((((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Udskriv det nye array
print ("\ nDe filtrerede værdier for begge arrays: \ n", new_array)

Produktion:

Følgende output vises efter udførelse af ovenstående script. I output har 43, 12, 7, 34, 9, 22, 41, 5 og 12 tilføjet i det nye array fra det andet array, fordi betingelsen er Falsk for disse værdier. Den første 12-værdi i det nye array er tilføjet fra det første array, fordi betingelsen er Rigtigt kun for denne værdi.

Konklusion:

hvor () -funktionen i NumPy-biblioteket er nyttig til filtrering af værdierne fra to arrays. Oprettelse af et nyt array ved at filtrere dataene fra to arrays baseret på flere betingelser defineret af logisk ELLER og logisk OG er blevet forklaret i denne vejledning. Jeg håber, at læserne vil være i stand til at bruge denne funktion i deres script korrekt efter at have praktiseret eksemplerne på denne vejledning.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...