NumPy Array Filter
Filtering Arrays
Mengeluarkan beberapa elemen dari array yang ada dan membuat array baru darinya disebut filtering (penyaringan).
Di NumPy, kita memfilter array menggunakan boolean index list.
Daftar index boolean adalah daftar boolean yang sesuai dengan index dalam array.
Jika nilai pada index adalah True elemen yang terkandung dalam array yang difilter, jika nilai pada index False itu adalah elemen tersebut dikecualikan dari array yang difilter.
Contoh
Buat array dari elemen pada index 0 dan 2.
import numpy as np
arr = np.array([41, 42, 43, 44])
x = [True, False, True, False]
newarr = arr[x]
print(newarr)Contoh diatas akan kembali [41, 43], mengapa?
Karna array baru hanya berisi nilai dimana array filter memiliki nilai True, dalam hal ini, index 0 dan 2.
Creating the Filter Array
Dalam contoh diatas, kita mengkodekan nilai True dan secara keras False, tetapi penggunaan yang umun adalah membuat array filter berdasarakn kondisi.
Contoh
Buat array filter yang hanya akan mengembalikan nilai yang lebih tinggi dari 42.
import numpy as np
arr = np.array([41, 42, 43, 44])
# Buat list kosong
filter_arr = []
# melalui setiap elemen di arr
for element in arr:
# jika elemen lebih tinggi dari 42, atur nilainya ke True, jika tidak False:
if element > 42:
filter_arr.append(True)
else:
filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)Contoh
Buat array filter yang hanya akan mengembalikan elemen genap dari array asli.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# Buat list kosong
filter_arr = []
# melalui setiap elemen di arr
for element in arr:
# jika elemen habis dibagi 2, atur nilainya ke True, jika tidak False
if element % 2 == 0:
filter_arr.append(True)
else:
filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)Creating Filter Directly From Array
Contoh diatas adalah tugas yang cukup umum di NumPy dan NumPy menyediakan cara yang bagus untuk mengatasinya.
Kita dapat langsung mengganti array alih-alih variable yang dapat diubah dalam kondisi kita dan itu akan berfungsi seperti yang kita harapkan.
Contoh
Buat array filter yang hanya akan mengembalikan nilai yang lebih tinggi dari 42.
import numpy as np
arr = np.array([41, 42, 43, 44])
filter_arr = arr > 42
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)Contoh
Buat array filter yang hanya akan 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)
Komentar
Posting Komentar