Fungsi Terapkan NumPy

Fungsi Terapkan Numpy



Pustaka built-in yang ditawarkan oleh Python, yang dikenal sebagai NumPy, memungkinkan kita untuk membangun array multi-dimensi, memodifikasinya, dan melakukan berbagai perhitungan aritmatika padanya. Fungsi apply juga disediakan oleh paket NumPy. Kasus penggunaan tipikal untuk fungsi apply mirip dengan skenario di mana kita ingin mengiris array dan melakukan beberapa operasi pada setiap elemen daftar, misalnya, jika kita ingin mengkuadratkan setiap item dari sebuah baris. Tentu saja, dengan Python, kita tahu bahwa for-loop lambat sehingga kita ingin menghindarinya jika memungkinkan. Fungsi 'terapkan' dapat digunakan jika Anda ingin melakukan operasi yang sama pada setiap baris atau kolom dari bingkai data. Dengan kata lain, ia melakukan apa yang ingin Anda lakukan dengan for-loop tanpa harus menulis for-loop.

Ada dua metode untuk menerapkan fungsi apa pun ke array tergantung pada kondisinya. Kita dapat menerapkan fungsi “apply over the axis” yang berguna ketika kita menerapkan fungsi tersebut pada setiap elemen array satu per satu, dan berguna untuk array n-dimensi. Metode kedua adalah 'terapkan di sepanjang sumbu' yang berlaku untuk array satu dimensi.

Sintaksis:

Metode 1: Terapkan Sepanjang Sumbu

mati rasa. apply_along_axis ( 1d_fungsi , sumbu , arr , *args , ** kuarga )

Dalam sintaks, kami memiliki fungsi 'numpy.apply' yang kami berikan lima argumen. Argumen pertama yaitu “1d_function” beroperasi pada array satu dimensi, yang diperlukan. Sementara argumen kedua, 'sumbu', adalah argumen di sumbu mana Anda ingin mengiris array dan menerapkan fungsi itu. Parameter ketiga adalah 'arr' yang merupakan array yang diberikan yang ingin kita terapkan fungsinya. Sedangkan “*args” dan “*kwargs” merupakan argumen tambahan yang tidak perlu ditambahkan.







Contoh 1:

Bergerak menuju pemahaman yang lebih baik tentang metode 'terapkan', kami melakukan contoh untuk memeriksa cara kerja metode yang diterapkan. Dalam contoh ini, kami melakukan fungsi 'apply_along_Axis'. Mari kita lanjutkan ke langkah pertama kita. Kami pertama-tama menyertakan pustaka NumPy kami sebagai np. Dan kemudian, kita membuat array bernama “arr” yang menampung matriks 3×3 dengan nilai integer yaitu “8, 1, 7, 4, 3, 9, 5, 2, dan 6”. Pada baris berikutnya, kita membuat variabel bernama “array” yang bertanggung jawab untuk menyimpan hasil dari fungsi apply_along_Axis.



Untuk fungsi itu, kami melewati tiga argumen. Yang pertama adalah fungsi yang ingin kita terapkan ke array, dalam kasus kita ini adalah fungsi yang diurutkan karena kita ingin array kita diurutkan. Kemudian, kita melewati argumen kedua “1” yang berarti kita ingin mengiris array kita di sepanjang axis=1. Terakhir, kami melewati array yang akan diurutkan dalam kasus ini. Di akhir kode, kita cukup mencetak kedua larik – larik asli serta larik yang dihasilkan – yang ditampilkan menggunakan pernyataan print().



impor numpy sebagai misalnya

arr = misalnya Himpunan ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , dua , 6 ] ] )

Himpunan = misalnya apply_along_axis ( diurutkan , 1 , arr )

mencetak ( 'array aslinya adalah:' , arr )

mencetak ( 'array yang diurutkan adalah:' , Himpunan )





Seperti yang bisa kita lihat pada output berikut, kita menampilkan kedua array. Yang pertama, nilai-nilai ditempatkan secara acak di setiap baris matriks. Tapi di yang kedua, kita bisa melihat array yang diurutkan. Karena kami melewati sumbu '1', itu belum mengurutkan array lengkap tetapi mengurutkannya berdasarkan baris seperti yang ditampilkan. Setiap baris diurutkan. Baris pertama dalam array yang diberikan adalah '8, 1, dan 7'. Sedangkan pada array terurut, baris pertama adalah “1, 7 dan 8”. Sama seperti ini, setiap baris diurutkan.



Metode 2: Terapkan Di Atas Sumbu

mati rasa. apply_over_axes ( fungsi , sebuah , kapak )

Dalam sintaks yang diberikan, kami memiliki fungsi numpy.apply_over_axis yang bertanggung jawab untuk menerapkan fungsi pada sumbu yang diberikan. Di dalam fungsi apply_over_axis, kita melewatkan tiga argumen. Yang pertama adalah fungsi yang akan dilakukan. Yang kedua adalah array itu sendiri. Dan yang terakhir adalah sumbu di mana kita ingin menerapkan fungsinya.

Contoh 2:

Dalam contoh berikut, kami melakukan metode kedua dari fungsi 'terapkan' di mana kami menghitung jumlah dari array tiga dimensi. Satu hal yang perlu diingat adalah bahwa jumlah dua array tidak berarti kita menghitung seluruh array. Di beberapa array, kami menghitung jumlah baris-bijaksana yang berarti bahwa kami menambahkan baris dan mengeluarkan satu elemen darinya.

Mari kita lanjutkan ke kode kita. Pertama-tama kita mengimpor paket NumPy dan kemudian membuat variabel yang menampung array tiga dimensi. Dalam kasus kami, variabelnya adalah 'arr'. Di baris berikutnya, kita membuat variabel lain yang menyimpan array hasil fungsi apply_over_axis. Kami menetapkan fungsi apply_over_Axis ke variabel 'arr' dengan tiga argumen. Argumen pertama adalah fungsi bawaan NumPy untuk menghitung jumlah yaitu np.sum. Parameter kedua adalah array itu sendiri. Argumen ketiga adalah sumbu di mana fungsi diterapkan, dalam hal ini kita memiliki sumbu “[0, 2]”. Di akhir kode, kita mengeksekusi kedua array menggunakan pernyataan print().

impor numpy sebagai misalnya

arr = misalnya Himpunan ( [ [ [ 6 , 12 , dua ] , [ dua , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

[ [ 12 , 7 , 14 ] , [ dua , 17 , 18 ] , [ 0 , dua puluh satu , 8 ] ] ] )

Himpunan = misalnya apply_over_axes ( misalnya jumlah , arr , [ 0 , dua ] )

mencetak ( 'array aslinya adalah:' , arr )

mencetak ( 'jumlah array adalah:' , Himpunan )

Seperti yang ditunjukkan pada gambar berikut, kami menghitung beberapa array tiga dimensi kami menggunakan fungsi apply_over_axis. Array pertama yang ditampilkan adalah array asli dengan bentuk “2, 3, 3” dan yang kedua adalah jumlah baris. Jumlah baris pertama adalah '53', yang kedua adalah '54' dan yang terakhir adalah '57'.

Kesimpulan

Dalam artikel ini, kita mempelajari bagaimana fungsi apply digunakan di NumPy dan bagaimana kita bisa menerapkan fungsi yang berbeda pada array di sepanjang atau di atas sumbu. Sangat mudah untuk menerapkan fungsi apa pun pada baris atau kolom yang diinginkan dengan memotongnya menggunakan metode 'terapkan' yang disediakan oleh NumPy. Ini adalah cara yang efisien ketika kita tidak harus menerapkannya ke seluruh array. Kami harap postingan ini bermanfaat bagi Anda dalam mempelajari cara menggunakan metode apply.