NumPy Array Filtering
- Nakaraang Pahina NumPy Array Sorting
- Susunod na Pahina NumPy Random
Filtering ng array
Ang pagkuha ng ilang mga elemento mula sa kasalukuyang array at gumawa ng bagong array ay tinatawag na filtering (filtering).
Sa NumPy, gumagamit kami ng boolean index list upang filter ang array.
Ang boolean index list ay isang listahan ng boolean values na sumusunod sa mga index ng array.
Kung ang halaga ng index ay True
Kung ang elemento ay nasa filtered array; kung ang halaga ng index ay False
Kung ang elemento ay hindi nasa filtered array.
Halimbawa
Gumawa ng isang array gamit ang mga elemento na nasa index 0 at 2, 4:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
Ang nakaraang halimbawa ay magbibigay ng [61, 63, 65]
Bakit?
Kasi ang bagong filter ay naglalaman lamang ng mga may halaga sa array ng filter True
ng halaga, kaya sa ganitong sitwasyon, ang index ay 0 at 2, 4.
gumawa ng array ng filter
Sa nakaraang halimbawa, kami ay gumawa ng True
at False
Ang halaga ay hard-coded, ngunit karaniwang gamit ay gumawa ng array ng filter base sa kondisyon.
Halimbawa
Lumikha ng isang array ng filter na ibibigay lamang ang mga halaga na hihigit sa 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Lumikha ng isang walang lamang listahan filter_arr = [] # Bumubulong sa bawat elemento sa arr for element in arr: # Kung ang elemento ay lalong mababa sa 62, ay itatatakbo ang halaga bilang True, kung hindi ay False: kung ang elemento ay lalong mababa sa 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Halimbawa
Lumikha ng isang array ng filter, na ibibigay lamang ang mga kahalintulad na elemento ng orihinal na array:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Lumikha ng isang walang lamang listahan filter_arr = [] # Bumubulong sa bawat elemento sa arr for element in arr: # Kung ang elemento ay maaaring hatiin ng 2, itataglay ang halaga sa True, kung hindi itataglay ang halaga sa False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Pagbuo ng filter mula sa array
Ang halimbawa na ito ay isang pangkaraniwang ginagamit na gawain sa NumPy, na ibinibigay ng NumPy ang mahusay na paraan para malutas ang problema.
Maaari naming palitan ang array sa ilalim ng kondisyon sa halip na iterable na variable, ito ay gagana tulad ng inaasahan namin.
Halimbawa
Lumikha ng isang array ng filter na ibibigay lamang ang mga halaga na hihigit sa 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
Halimbawa
Lumikha ng isang array ng filter, na ibibigay lamang ang mga kahalintulad na elemento ng orihinal na array:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
- Nakaraang Pahina NumPy Array Sorting
- Susunod na Pahina NumPy Random