0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan18 halaman

Operasi Aritmatik dan Broadcasting Numpy

Diunggah oleh

silvina
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan18 halaman

Operasi Aritmatik dan Broadcasting Numpy

Diunggah oleh

silvina
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Slide 1

MODUL 2

PYTHON FOR DATA ANALYSIS

Numpy
Operations
Slide 2

Outline

• Broadcasting and Arithmetic Operation in Numpy Array


• Numpy Mathematical Function
• Other Functions

• Pada sesi ini kita akan belajar tentang konsep broadcasting dalam operasi aritmatik di numpy array.
• Kita juga akan belajar tentang fungsi matematik dan fungsi lain yang sering digunakan untuk array dalam numpy.
Slide 3

Broadcasting

Pertama, kita akan belajar tentang broadcasting.


Slide 4

Broadcasting

• During arithmetic operation between arrays in NumPy, the smaller array is


stretched across the larger array so that they have compatible size
• The rules of broadcasting, the size of the of the axes for both array must be:
• The same, or
• One of them is one

• Broadcasting adalah cara numpy memperlakukan array yang memiliki bentuk berbeda dalam operasi aritmatik antar array.
• Array yang berukuran lebih kecil akan di-broadcast pada array yang lebih besar sehingga kedua array memiliki ukuran yang sesuai.
• Ada aturan terkait ukuran axis dalam broadcasting, yaitu, kedua axis di dimensi yang sama harus berukuran sama atau salah satu axis
berukuran satu.
Slide 5

Broadcasting

• Untuk memperjelas broadcasting, perhatikan gambar pertama berikut.


• Pada gambar pertama, kita memiliki array 1 dimensi bernama a berukuran 3.
• Lalu ada array 1 dimensi bernama b berukuran 1.
• Kita lakukan operasi perkalian antara array a dan array b.
• Seluruh nilai di array a akan dikalikan dengan nilai array b atau dikali 2.
• Hasilnya adalah array berukuran 3 yang nilainya adalah 2 kali dari array a.
• Di gambar kedua, terdapat array 2 dimensi bernama a berukuran 4x3 dan array 1 dimensi bernama b berukuran 3.
• Kita jumlahkan kedua array ini. Hasilnya adalah array 2 dimensi berukuran 4x3.
• Array b yang berukuran lebih kecil di broadcast ke array a.
• Setiap baris di array a akan dijumlahkan ke array b.
• Perhatikan ukuran array di seluruh ilustrasi di atas.
• Pada ilustrasi pertama, kedua array sama-sama berdimensi 1, meskipun ukurannya berbeda, yaitu 3 dan 1. Sehingga syarat untuk
broadcasting terpenuhi.
• Pada ilustrasi kedua, array a memiliki ukuran 4 (baris) x 3(kolom) dan array b memiliki ukuran (1 baris) x 3 (kolom).
• Kedua array ini juga memenuhi syarat broadcasting pada ukuran baris. Axis b memiliki ukuran 1 dan kedua array memiliki ukuran kolom
yang sama.
Slide 6

Broadcasting

• Perhatikan bahwa, ukuran kedua array harus sama pada axis yang sama.
• Untuk lebih jelasnya, mari kita lihat ilustrasi berikut ini.
• Array a berukuran 4x3 dan array b berukuran 4.
• Jika kita coba lakukan penambahan kedua array ini, keluar pesan error!
• Sekilas ukuran 4x3 dan 4 memenuhi persyaratan broadcasting.
• Tapi ukuran array b, sebenarnya adalah 1(baris) x 4 (kolom).
• Tentu array b tidak sesuai dengan array a yang berukuran 4 (baris) dan 3 (kolom).
• Ukuran 4 pada array a dan b berada pada axis yang berbeda.
Slide 7

Arithmetic's Operation

Setelah memahami bagaimana broadcasting bekerja, mari kita coba praktikkan pada array Numpy.
Slide 8

Arithmetic 1D Array

• Dengan broadcasting, operasi aritmetika dapat dilakukan ke value di dalam array tanpa perlu looping seperti di list.
• Hal ini mempermudah dan mempercepat proses ketika kita ingin mengolah angka di dalam array.
• Misalnya, ada array 1 dimensi berisi angka 1-9. Jika kita menambahkan 1 pada array ini, maka setiap nilai di array akan bertambah satu.
• Kita juga bisa melakukan, misalnya 1/arr, setiap nilai di dalam arr akan berubah.
• Operasi aritmetika juga bisa dilakukan antar 2 array 1 dimensi. Contohnya, kita lakukan perkalian array arr terhadap array itu sendiri.
• Karena besaran kedua array sama, maka setiap elemen di dalam array pertama akan dikalikan dengan elemen di posisi yang sama pada
array kedua. Hasilnya adalah array yang berisikan nilai kuadrat dari arr.
Slide 9

Arithmetic 2D Array

• Operasi aritmetika bekerja dengan cara yang sama pada array 2 dimensi.
• Apabila operasi aritmetika dilakukan antara array 2 dimensi dan suatu angka, maka operasi aritmetika akan di-broadcast pada setiap
elemen array.
• Dan, array yang dihasilkan akan tetap berukuran 2 dimensi.
• Misalnya, kita melakukan pangkat 2 dengan simbol ** 2 pada array berukuran 3x3 berisi angka 1-9.
• Hasilnya berupa array berukuran 3x3 yang nilainya merupakan hasil pangkat 2 array sebelumnya.
• Nilai 1 menjadi 1, 2 menjadi 4, 3 menjadi 9 dan seterusnya.
Slide 10

Arithmetic 2D Array

10

• Operasi aritmetika juga bisa dilakukan antara array 2 dimensi dan array 1 dimensi.
• Misalnya, arr_2d dan arr_1d kita lakukan perkalian.
• Nilai di tiap baris arr_2d akan dikalikan dengan setiap nilai di arr_1d, yaitu 1x1, 2x2, 3x3, 3, 4x1, 5x2, 6x3, dst.
• Array yang dihasilkan berukuran 3x3.
• Operasi aritmetika tentu saja bisa dilakukan antara 2 array berdimensi sama selama aturan broadcasting terpenuhi.
• Misalnya, kita membagi arr_2d dengan dirinya sendiri. Hasilnya adalah array berukuran 3x3 berisi angka 1.
Slide 11

Mathematical Array Function

• Selain dengan operasi aritmetika, kita juga bisa memanipulasi isi array dengan fungsi matematika yang tersedia dalam library numpy.
• Berikut beberapa fungsi yang sering dipakai.
Slide 12

Mathematical Array Functions

12

• Fungsi [Link] digunakan untuk mencari akar dari angka di dalam array.
• Pada contoh, kita memakai [Link] pada array arr yang berisi angka 1-9.
• Hasilnya berupa array 9 angka hasil akar dari masing-masing angka di array arr.
• Kemudian, fungsi Exp digunakan untuk menghitung eksponensial dari setiap elemen dalam array.
• Contoh, perhitungan eksponensial dipakai untuk menghitung laju pertumbuhan populasi, carbon dating dan lain-lain
Slide 13

Mathematical Array Functions

13

• Fungsi [Link] digunakan untuk menghitung trigonometri dari elemen di dalam array.
• Dalam perhitungan ini, setiap nilai di dalam array dianggap sebagai nilai radian.
• Lalu fungsi [Link]. merupakan natural log dan kebalikan dari exp.
• [Link] dapat mengembalikan suatu nilai yang telah dieksponensial ke nilai semula.
Slide 14

Other Functions

• Selain fungsi matematika, kita juga akan mempelajari fungsi lain yang biasa dipakai untuk memanipulasi array pada numpy.
Slide 15

Other Functions
Insert, Delete, Append

15

• Selanjutnya kita akan mempelajari fungsi numpy lainnya yaitu insert, delete dan append.
• Dengan numpy insert, kita bisa menyelipkan element tertentu pada posisi tertentu di dalam array.
• Pada contoh ini, kita memasukkan angka 10 pada array berisi angka 1-9, setelah angka 5.
• Jika kita ingin menghapus elemen array pada posisi tertentu, kita bisa menggunakan numpy delete.
• Pada contoh berikut, kita ingin menghapus angka 8 dari array arr, maka jalankan [Link](arr, 7). Angka 7 adalah index dari nilai yang ingin
dihapus.
• Kemudian, apabila kita ingin menambahkan satu nilai pada akhir array, maka kita bisa menggunakan numpy append.
• Pada contoh ini, kita ingin menambahkan angka 11 di akhir array arr, maka jalankan [Link](arr, 11).
Slide 16

Other Functions
Concatenate

16

• Numpy concatenate bisa dipakai untuk menggabungkan dua array menjadi satu.
• Concatenante bisa menggabungkan array pada axis tertentu.
• Misalnya pada contoh pertama kita menggabungkan berdasarkan axis 0 (baris). Sedangkan contoh kedua, menggunakan axis 1 (kolom).
• Ukuran kedua array harus sesuai berdasarkan axis yang dijadikan acuan penggabungan.
• Selain itu, hasil penggabungan bisa berupa array 1 dimensi apabila axis=None digunakan.
Slide 17

Other Functions
Where

17

• Terakhir kita bahas fungsi numpy where.


• Fungsi ini akan menghasilkan output tergantung kondisi yang kita berikan.
• Fungsi ini mirip seperti gabungan if-else dan looping.
• Misalnya, elemen array arr yang nilainya lebih besar dari 5 ingin kita ubah menjadi 1.
• Jalankan [Link] (arr>5, 1, arr). Nilai 5 adalah kondisi yang harus terpenuhi, angka 1 adalah nilai penggantinya dan kembali ke nilai awal
arr jika tidak terpenuhi.
• Numpy akan memeriksa tiap elemen dalam array apakah lebih besar dari 5.
• Jika terpenuhi, elemen berubah menjadi 1, bila tidak terpenuhi maka kembali ke nilai semula.
• Pada contoh code kedua, kita ubah jika tidak terpenuhi, maka nilainya diubah menjadi 0.
• Fungsi where juga bisa digunakan pada array 2 dimensi.
• Pada code ketiga adalah contoh penggunaan where pada array 2 dimensi.
• Selain fungsi yang telah dijelaskan, masih ada fungsi-fungsi numpy lain yang bisa kita pelajari.

Anda mungkin juga menyukai