Saring Array NumPy
- Halaman Sebelumnya Isih Array NumPy
- Halaman Berikutnya Acak NumPy
penapisan array
mengambil beberapa elemen dari array yang ada dan membuat array baru disebut penapisan (filtering).
di NumPy, kami menggunakan daftar indeks boolean untuk menyaring array.
daftar indeks boolean adalah daftar nilai boolean yang sejalan dengan indeks di dalam array.
jika nilai di indeks adalah True
jika elemen itu termasuk dalam array yang disaring; jika nilai di indeks adalah False
jika elemen itu akan dihapus dari array yang disaring.
Contoh
buat array dengan elemen di indeks 0 dan 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)
contoh di atas akan kembalikan [61, 63, 65]
mengapa?
karena penapisan baru hanya mengandung nilai penapisan array True
nilai, jadi dalam kasus ini, indeks adalah 0 dan 2, 4.
membuat array penapisan
dalam contoh di atas, kami membuat True
dan False
nilai dihardcoding, tetapi penggunaan biasanya adalah untuk membuat array penapisan berdasarkan kondisi.
Contoh
Buat satu array penapis yang hanya mengembalikan nilai yang lebih besar dari 62:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Buat satu daftar kosong filter_arr = [] # Lengkapkan setiap elemen di arr for element in arr: # Jika elemen lebih besar daripada 62, nilai diatur ke True, jika bukan False: jika elemen > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Contoh
Buat satu array penapis, array ini hanya mengembalikan elemen genap dari array asli:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Buat satu daftar kosong filter_arr = [] # Lengkapkan setiap elemen di arr for element in arr: # Jika elemen dapat dibagi dengan 2, atur nilai menjadi True, jika tidak atur nilai menjadi False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Buat penapis langsung dari array
Contoh di atas adalah tugas yang sangat umum di NumPy, NumPy menyediakan metode yang bagus untuk menyelesaikan masalah ini.
Kami dapat menggantikan array langsung di dalam kondisi daripada variabel iterable, dan ia akan bekerja seperti yang diharapkan.
Contoh
Buat satu array penapis yang hanya mengembalikan nilai yang lebih besar dari 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)
Contoh
Buat satu array penapis, array ini hanya mengembalikan elemen genap dari array asli:
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)
- Halaman Sebelumnya Isih Array NumPy
- Halaman Berikutnya Acak NumPy