Fungsi Guna NumPy

Fungsi Guna Numpy



Pustaka terbina dalam yang ditawarkan oleh Python, dikenali sebagai NumPy, membolehkan kami membina tatasusunan berbilang dimensi, mengubah suainya dan melakukan pelbagai pengiraan aritmetik padanya. Fungsi Apply juga disediakan oleh pakej NumPy. Kes penggunaan biasa untuk fungsi guna adalah serupa dengan senario di mana kita ingin menghiris tatasusunan dan melakukan beberapa operasi pada setiap elemen senarai, contohnya, jika kita ingin mengasingkan setiap item baris. Sudah tentu, dalam Python, kami tahu bahawa gelung untuk adalah perlahan jadi kami ingin mengelakkannya jika boleh. Fungsi 'apply' boleh digunakan jika anda ingin melakukan operasi yang sama pada setiap baris atau lajur bingkai data. Dalam erti kata lain, ia melakukan apa yang anda mahu lakukan dengan gelung untuk tanpa perlu menulis gelung untuk.

Terdapat dua kaedah untuk menggunakan sebarang fungsi pada tatasusunan bergantung pada keadaan. Kita boleh menggunakan fungsi 'guna atas paksi' yang berguna apabila kita menggunakan fungsi pada setiap elemen tatasusunan satu demi satu, dan ia berguna untuk tatasusunan n-dimensi. Kaedah kedua ialah 'gunakan sepanjang paksi' yang digunakan pada tatasusunan satu dimensi.

Sintaks:

Kaedah 1: Sapukan Sepanjang Paksi

numpy. apply_along_axis ( 1d_function , paksi , arr , *args , **quargs )

Dalam sintaks, kita mempunyai fungsi 'numpy.apply' yang mana kita lulus lima argumen. Satu hujah pertama iaitu '1d_function' beroperasi pada tatasusunan satu dimensi, yang diperlukan. Manakala hujah kedua, 'paksi', ialah paksi yang anda ingin potong tatasusunan dan gunakan fungsi itu. Parameter ketiga ialah 'arr' yang merupakan tatasusunan yang diberikan yang mana kita ingin menggunakan fungsi tersebut. Manakala “*args” dan “*kwargs” ialah hujah tambahan yang tidak perlu ditambah.







Contoh 1:

Bergerak ke arah pemahaman yang lebih baik tentang kaedah 'guna pakai', kami melaksanakan contoh untuk menyemak cara kerja kaedah guna. Dalam keadaan ini, kami melaksanakan fungsi 'apply_along_Axis'. Mari kita teruskan ke langkah pertama kita. Kami mula-mula memasukkan perpustakaan NumPy kami sebagai np. Dan kemudian, kami mencipta tatasusunan bernama 'arr' yang memegang matriks 3×3 dengan nilai integer iaitu '8, 1, 7, 4, 3, 9, 5, 2, dan 6'. Dalam baris seterusnya, kami mencipta pembolehubah bernama 'array' yang bertanggungjawab untuk memegang hasil fungsi apply_along_Axis.



Untuk fungsi itu, kami lulus tiga hujah. Yang pertama ialah fungsi yang kami mahu gunakan pada tatasusunan, dalam kes kami ia adalah fungsi yang diisih kerana kami mahu tatasusunan kami diisih. Kemudian, kami lulus hujah kedua '1' yang bermaksud kami ingin memotong tatasusunan kami di sepanjang paksi=1. Akhir sekali, kita lulus tatasusunan yang hendak diisih dalam kes ini. Pada penghujung kod, kami hanya mencetak kedua-dua tatasusunan - tatasusunan asal serta tatasusunan yang terhasil - yang dipaparkan menggunakan pernyataan print().



import numpy sebagai cth.

arr = cth. tatasusunan ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , dua , 6 ] ] )

tatasusunan = cth. apply_along_axis ( disusun , 1 , arr )

cetak ( 'tatasusunan asal ialah:' , arr )

cetak ( 'tatasusunan yang diisih ialah:' , tatasusunan )





Seperti yang dapat kita lihat dalam output berikut, kami memaparkan kedua-dua tatasusunan. Dalam yang pertama, nilai diletakkan secara rawak dalam setiap baris matriks. Tetapi dalam yang kedua, kita boleh melihat tatasusunan yang diisih. Memandangkan kami melepasi paksi '1', ia tidak mengisih tatasusunan lengkap tetapi ia mengisih mengikut baris seperti yang dipaparkan. Setiap baris disusun. Baris pertama dalam tatasusunan yang diberikan ialah '8, 1, dan 7'. Semasa dalam tatasusunan yang diisih, baris pertama ialah '1, 7 dan 8'. Sama seperti ini, setiap baris diisih.



Kaedah 2: Sapukan Atas Paksi

numpy. apply_over_axes ( fungsi , a , paksi )

Dalam sintaks yang diberikan, kami mempunyai fungsi numpy.apply_over_axis yang bertanggungjawab untuk menggunakan fungsi pada paksi yang diberikan. Di dalam fungsi apply_over_axis, kita lulus tiga argumen. Yang pertama ialah fungsi yang akan dilakukan. Yang kedua ialah array itu sendiri. Dan yang terakhir ialah paksi di mana kita ingin menggunakan fungsi tersebut.

Contoh 2:

Dalam contoh berikut, kami melaksanakan kaedah kedua bagi fungsi 'gunakan' di mana kami mengira jumlah tatasusunan tiga dimensi. Satu perkara yang perlu diingat ialah jumlah dua tatasusunan tidak bermakna kita mengira keseluruhan tatasusunan. Dalam beberapa tatasusunan, kami mengira jumlah baris yang bermaksud bahawa kami menambah baris dan mendapatkan elemen tunggal daripadanya.

Mari teruskan ke kod kami. Kami mula-mula mengimport pakej NumPy dan kemudian mencipta pembolehubah yang memegang tatasusunan tiga dimensi. Dalam kes kami, pembolehubah ialah 'arr'. Dalam baris seterusnya, kami mencipta pembolehubah lain yang memegang tatasusunan terhasil fungsi apply_over_axis. Kami menetapkan fungsi apply_over_Axis kepada pembolehubah 'arr' dengan tiga argumen. Argumen pertama ialah fungsi terbina dalam NumPy untuk mengira jumlah iaitu np.sum. Parameter kedua ialah tatasusunan itu sendiri. Argumen ketiga ialah paksi di mana fungsi digunakan, dalam kes ini kita mempunyai paksi '[0, 2]'. Pada penghujung kod, kami melaksanakan kedua-dua tatasusunan menggunakan pernyataan print().

import numpy sebagai cth.

arr = cth. tatasusunan ( [ [ [ 6 , 12 , dua ] , [ dua , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

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

tatasusunan = cth. apply_over_axes ( cth. jumlah , arr , [ 0 , dua ] )

cetak ( 'tatasusunan asal ialah:' , arr )

cetak ( 'jumlah array ialah:' , tatasusunan )

Seperti yang ditunjukkan dalam rajah berikut, kami mengira beberapa tatasusunan tiga dimensi kami menggunakan fungsi apply_over_axis. Tatasusunan pertama yang dipaparkan ialah tatasusunan asal dengan bentuk '2, 3, 3' dan yang kedua ialah jumlah baris. Jumlah baris pertama ialah '53', yang kedua ialah '54' dan yang terakhir ialah '57'.

Kesimpulan

Dalam artikel ini, kami mengkaji cara fungsi guna digunakan dalam NumPy dan cara kami boleh menggunakan fungsi berbeza pada tatasusunan di sepanjang atau di atas paksi. Mudah untuk menggunakan mana-mana fungsi pada baris atau lajur yang dikehendaki dengan menghirisnya menggunakan kaedah 'gunakan' yang disediakan oleh NumPy. Ia adalah cara yang cekap apabila kita tidak perlu menerapkannya pada keseluruhan tatasusunan. Kami harap anda mendapati siaran ini bermanfaat dalam mempelajari cara menggunakan kaedah memohon.