Numpy menyediakan fungsi yang siap pakai untuk memudahkan kita melakukan perhitungan saintifik seperti matriks, aljabar, statistik, dan sebagainya.
Mengapa kita butuh Numpy?
Bukannya di Python sudah ada list dan modul math ya? 🤔
Betul, list dan math memang bisa kita pakai buat perhitungan saintifik. Namun masih kurang lengkap, karena beberapa operasi perhitungan harus kita buat secara manual.
Contoh:
Kita ingin menghitung hasil penjumlahan tiap elemen di list.
# kita punya list a dan b a = [1, 2, 3] b = [4, 5, 6] # lalu kita jumlahkan hasil = a + b print(hasil) # [1, 2, 3, 4, 5, 6]
Hasilnya tidak sesui dengan yang kita harapkan. Seharusnya tiap elemen dijumlahkan, tapi malah list-nya digabungkan.
Jika ingin menjumlahkan, maka kita harus membuat rumus atau fungsi secara manual seperti ini:
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result
Karena itu, biar gak repot buat secara manual dari nol.. sebaiknya pakai yang sudah ada dari Numpy.
Selain itu, performa Numpy juga lebih cepat dibandingkan list. Soalnya library Numpy ditulis dengan bahasa C dan sebagaian lagi Python.
Oke.. lalu gimana cara install dan pakai Numpy?
Mari kita lanjut pelajari:
Cara Menginstall Numpy
Numpy dapat kita install dengan package manager pip install numpy2.
Jalankan perintah berikut di Terminal atau CMD untuk menginstal Numpy:
pip install numpy
Cukup jalankan perintah ini sekali saja, maka Numpy akan terinstal di komputermu.
Setelah berhasil menginstal, selanjutnya kita pelajari:
Cara Menggunakan Numpy
Numpy harus kita impor dulu agar bisa digunakan di dalam program.
Contoh:
import numpy as np
Pada contoh ini, kita mengimpor pip install numpy3 dan menggunakan nama alias pip install numpy4 biar nggak ngetik kepanjangan hehe.
Setelah itu, barulah kita bisa pakai fungsi-fungsi yang ada di pip install numpy4 (Numpy).
Contoh:
Membuat array dengan Numpy
my_array = np.array([1, 2, 3, 4])
Variabel pip install numpy6 akan menjadi sebuah object array (pip install numpy7).
Jangan bingung dengan istilah pip install numpy7..
..ini artinya n dimension array.
Secara simpel, artinya: array multi dimensi.
Latihan: Membuat Array dengan Numpy
Buatlah file baru beranam pip install numpy9 kemudian isi dengan kode berikut:
import numpy as np # membuat array nilai_siswa = np.array([85, 55, 40, 90]) # mengakses data pada array print(nilai_siswa[3])
Setelah itu, coba jalankan.
Maka hasilnya:
Pada latihan ini, kita bisa tau..
..kalau array di Numpy cara akses datanya sama seperti list.
Membuat Matriks dengan Numpy
Matriks di dalam kode program biasanya dibuat dengan array dua dimensi, ini karena matrik terdiri dari baris dan kolom.
Dimensi pertama berperan sebagai kolom dan dimensi kedua akan berperan seabgai baris.
Contoh:
matriks = [[1,2,3], [4,5,6], [7,8,9]]
Pada contoh ini kita membuat list dua dimensi dengan list.
Jika ingin membuat matriks dengan Numpy, maka kita bisa pakai fungsi import numpy as np0 dan memasukan list matriksnya.
Contoh:
matrik_np = np.array([[1,2,3], [4,5,6], [7,8,9]])
Cara mengakses datanya juga sama seperti list.
Misal mau ngambil angka import numpy as np1, maka kita bisa akses dengan:
print(matrik_np[1][1])
Ini karena angka import numpy as np1 berada di kolom ke-1 dan baris ke-1.
Ingat, list atau array itu indeksnya selalu dimulai dari nol.
Jika mau ambil angka import numpy as np3 gimana?
Gampang…
Tunggal tulis seperti ini:
print(matrik_np[0][2])
Ini karena angka import numpy as np3 berada di kolom ke-0 dan baris ke-2.
Gampang kan?
Saya anggap kamu sudah paham.
Selanjutnya kita akan belajar operasi matriks dengan Numpy.
Operasi Matriks dengan Numpy
Jika kamu menggunakan list di Python untuk operasi matriks, maka kamu akan membaut operasinya secara manual dengan perulangan.
Contohnya seperti ini:
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result0
Ini tentu merepotkan, karena kita harus membuat sendiri operasinya.
Tapi tenang saja..
..di Numpy kita bisa melakukan operasi matrik dengan mudah, semudah melakan operasi pada bilangan.
Mari kita coba!
Penjumlahan matriks
Buat file baru dengan nama import numpy as np5 kemudian isi dengan kode berikut:
penjumlahan_matrik.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result1
Setelah itu, coba jalankan!
Maka hasilnya:
Pengurangan matriks
Buat file baru dengan nama import numpy as np6 kemudian isi dengan kode berikut:
pengurangan_matrik.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result2
Setelah itu, coba jalankan!
Maka hasilnya:
Perkalian matriks
Buat file baru dengan nama import numpy as np7 kemudian isi dengan kode berikut:
perkalian_matrik.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result3
Setelah itu, coba jalankan!
Maka hasilnya:
Pembagian matriks
Buat file baru dengan nama import numpy as np8 kemudian isi dengan kode berikut:
pembagian_matrik.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result4
Setelah itu, coba jalankan!
Maka hasilnya:
Mantap! 👍
Cukup mudah bukan?
Berikutnya kita akan belajar tentang
Transformasi Matriks dengan Numpy
Transformasi Matrik artinya mengubah bentuk matrik ke bentuk yang lain.
Ada tiga fungsi yang digunakan untuk transformasi matrik:
- import numpy as np9 untuk membalik matrik;
- my_array = np.array([1, 2, 3, 4])0 untuk mengubah bentuk matrik ke ukuran tertentu;
- my_array = np.array([1, 2, 3, 4])1 dan my_array = np.array([1, 2, 3, 4])2 untuk mengubah matrik menjadi list atau vektor.
Mari kita coba!
Latihan: Transpose Matrik dengan Numpy
Buatlah file baru dengan nama my_array = np.array([1, 2, 3, 4])3, kemudian isi dengan kode berikut:
balik_matrik.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result5
Setelah itu, coba jalankan!
Maka hasilnya:
Selain menggunakan teknik di atas, kita juga bisa membalik matrik seperti ini.
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result6
Latihan: Mengubah bentuk ukuran Matrik
Buatlah file baru dengan nama my_array = np.array([1, 2, 3, 4])4, kemudian isi dengan kode berikut:
matrik_reshape.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result7
Setelah itu, coba jalankan!
Maka hasilnya:
Pada contoh ini, kita mengubah sebuah list menjadi matrik 2x3. Atribut my_array = np.array([1, 2, 3, 4])5 berfungsi untuk mengetahui ukuran array.
Matrik yang sudah kita reshape, bisa juga kita kembalikan lagi dengan fungsi my_array = np.array([1, 2, 3, 4])0.
Contoh:
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result8
Angka my_array = np.array([1, 2, 3, 4])7 adalah ukuran matriknya.
Latihan: Mengubah Matrik ke List Vektor
Buatlah file baru dengan nama my_array = np.array([1, 2, 3, 4])8, kemudian isi dengan kode berikut:
matrik_flat.py
def add(list_a, list_b): result = [] for first, second in zip(list_a, list_b): result.append(first + second) return result9
Setelah itu, coba jalankan!
Maka hasilnya:
Sejauh ini kita sudah bisa menggunakan Numpy untuk membuat list dan matrik.
Berikutnya kita akan coba fungsi-fungsi untuk pengolahan data.
Fungsi Pengolahan Data di Numpy
Kalau kamu pernah belajar statistik, mungkin tidak akan asing dengan mean (rata-rata), sum, min, max, dll.
Nah, di Numpy.. kita sudah disediakan fungsi-fungsi ini. Sehingga pengolahan data akan jadi lebih mudah.
Mari kita langsung coba aja contohnya.
Buatlah file baru dengan nama my_array = np.array([1, 2, 3, 4])9 kemudian isi dengan kode berikut:
pip install numpy0
Setelah itu coba jalankan!
Maka hasilnya:
Mantap! 👍
Dengan adanya fungsi-fungsi ini, kerjaan Data Science kita akan jadi lebih mudah.
Apa Selanjutnya?
Sejauh ini kita sudah paham dan tahu apa itu Numpy dan gimana cara pakainya.
Sebenarnya masih banyak lagi fungsi-fungsi yang belum kita bahas. Tentu tidak akan cukup jika saya bahas semua di sini.