Looginen Indeksointi
Booletinen indeksointi (tunnetaan myös nimellä boolean-taulukon indeksointi) mahdollistaa taulukon alkioiden valitsemisen tiettyjen ehtojen perusteella. Tämä indeksointitapa on erittäin hyödyllinen tietojen tehokkaaseen suodattamiseen taulukoissa, erityisesti suurissa taulukoissa.
Booletiset taulukot
Jotta ymmärrämme, miten booletinen indeksointi toimii, meidän täytyy ensin ymmärtää, mitä booletiset taulukot ovat.
Booletinen taulukko on taulukko, jonka jokainen alkio voi olla joko True tai False.
Tällainen taulukko voidaan luoda joko määrittelemällä sen alkiot eksplisiittisesti tai tietyn ehdon perusteella tietyn taulukon alkioille.
123456import numpy as np # Creating an array of integers from 1 to 10 inclusive array = np.arange(1, 11) # Creating a boolean array based on a condition boolean_array = array > 5 print(boolean_array)
Tässä array on kokonaislukutaulukko väliltä 1–10 mukaan lukien. Luomme tämän jälkeen totuusarvotaulukon nimeltä boolean_array ehdon array > 5 perusteella. Tämä tarkoittaa, että jos tietty array-taulukon alkio on suurempi kuin 5 (ehto on True), vastaava alkio boolean_array-taulukossa on True; muussa tapauksessa se on False.
Ylempi taulukko on alkuperäinen taulukkomme, jossa vihreät alkiot eivät täytä ehtoa ja violetit alkiot täyttävät ehdon. Alempi taulukko on luotu boolean-taulukko.
Boolean-taulukon indeksointi
Boolean-indeksointi toimii varsin suoraviivaisesti: määritä boolean-taulukko hakaisiin sulkeisiin. Tuloksena saat ne alkiot, joiden indeksit vastaavat boolean-taulukon True-arvoja.
Voit nähdä, että True-arvojen alkiot ovat indekseissä 5–9. Tämän seurauksena array-taulukon alkiot näissä indekseissä palautetaan boolean-indeksoinnin avulla (yllä oleva kuva vastaa tätä koodia):
1234import numpy as np # Creating an array of integers from 1 to 10 inclusive array = np.arange(1, 11) print(array[array > 5])
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how boolean indexing works with multidimensional arrays?
What happens if the boolean array and the original array have different shapes?
Can you show more examples of boolean indexing with different conditions?
Awesome!
Completion rate improved to 3.7
Looginen Indeksointi
Pyyhkäise näyttääksesi valikon
Booletinen indeksointi (tunnetaan myös nimellä boolean-taulukon indeksointi) mahdollistaa taulukon alkioiden valitsemisen tiettyjen ehtojen perusteella. Tämä indeksointitapa on erittäin hyödyllinen tietojen tehokkaaseen suodattamiseen taulukoissa, erityisesti suurissa taulukoissa.
Booletiset taulukot
Jotta ymmärrämme, miten booletinen indeksointi toimii, meidän täytyy ensin ymmärtää, mitä booletiset taulukot ovat.
Booletinen taulukko on taulukko, jonka jokainen alkio voi olla joko True tai False.
Tällainen taulukko voidaan luoda joko määrittelemällä sen alkiot eksplisiittisesti tai tietyn ehdon perusteella tietyn taulukon alkioille.
123456import numpy as np # Creating an array of integers from 1 to 10 inclusive array = np.arange(1, 11) # Creating a boolean array based on a condition boolean_array = array > 5 print(boolean_array)
Tässä array on kokonaislukutaulukko väliltä 1–10 mukaan lukien. Luomme tämän jälkeen totuusarvotaulukon nimeltä boolean_array ehdon array > 5 perusteella. Tämä tarkoittaa, että jos tietty array-taulukon alkio on suurempi kuin 5 (ehto on True), vastaava alkio boolean_array-taulukossa on True; muussa tapauksessa se on False.
Ylempi taulukko on alkuperäinen taulukkomme, jossa vihreät alkiot eivät täytä ehtoa ja violetit alkiot täyttävät ehdon. Alempi taulukko on luotu boolean-taulukko.
Boolean-taulukon indeksointi
Boolean-indeksointi toimii varsin suoraviivaisesti: määritä boolean-taulukko hakaisiin sulkeisiin. Tuloksena saat ne alkiot, joiden indeksit vastaavat boolean-taulukon True-arvoja.
Voit nähdä, että True-arvojen alkiot ovat indekseissä 5–9. Tämän seurauksena array-taulukon alkiot näissä indekseissä palautetaan boolean-indeksoinnin avulla (yllä oleva kuva vastaa tätä koodia):
1234import numpy as np # Creating an array of integers from 1 to 10 inclusive array = np.arange(1, 11) print(array[array > 5])
Kiitos palautteestasi!