Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah np.newaxis Boleh Digunakan untuk Mengawal Dimensi Tatasusunan dalam NumPy?
Memahami np.newaxis dan Aplikasinya
NumPy's np.newaxis ialah alat berkuasa yang membolehkan pengguna meningkatkan dimensi tatasusunan dengan lancar. Apabila menggunakan np.newaxis sekali, tatasusunan satu dimensi berubah menjadi tatasusunan dua dimensi, tatasusunan dua dimensi menjadi tiga dimensi dan seterusnya.
Senario 1: Mencipta Baris atau Lajur Vektor
np.newaxis terbukti berguna untuk menukar tatasusunan satu dimensi secara eksplisit kepada vektor baris atau lajur. Dengan memasukkan paksi di sepanjang dimensi pertama, kami mencipta vektor baris dan dengan memasukkan paksi di sepanjang dimensi kedua, kami memperoleh vektor lajur.
Contoh:
<code class="python">arr = np.arange(4) row_vec = arr[np.newaxis, :] col_vec = arr[:, np.newaxis]</code>
Senario 2: Mendayakan Penyiaran
np.newaxis memainkan peranan penting dalam memudahkan penyiaran NumPy untuk operasi seperti penambahan. Untuk menggambarkan, pertimbangkan tatasusunan berikut:
<code class="python">x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array([5, 4, 3])</code>
Percubaan untuk menambah tatasusunan ini secara langsung dalam NumPy akan mencetuskan ValueError kerana bentuknya yang berbeza. Dengan memasukkan paksi baharu ke dalam mana-mana tatasusunan menggunakan np.newaxis, kami mendayakan penyiaran dan membenarkan operasi diteruskan.
Contoh:
<code class="python">x1_new = x1[:, np.newaxis] sum_array = x1_new + x2</code>
Sebagai alternatif, kami boleh tambahkan paksi baharu pada x2:
<code class="python">x2_new = x2[:, np.newaxis] sum_array = x1 + x2_new</code>
Senario 3: Mempromosikan Dimensi untuk Tatasusunan Tinggi
np.newaxis boleh digunakan beberapa kali untuk mempromosikan tatasusunan kepada dimensi yang lebih tinggi, ciri yang amat berguna untuk memanipulasi tensor.
Contoh:
<code class="python">arr = np.arange(5*5).reshape(5,5) arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]</code>
Alternatif: np.expand_dims dan Tiada
np.expand_dims menawarkan parameter paksi intuitif untuk mengembangkan dimensi. Selain itu, Tiada boleh digunakan secara bergantian dengan np.newaxis.
Kesimpulan
np.newaxis ialah alat serba boleh untuk mengurus dimensi tatasusunan NumPy. Aplikasinya terdiri daripada mencipta vektor baris atau lajur kepada mendayakan penyiaran dan mempromosikan dimensi untuk tatasusunan tertib lebih tinggi.
Atas ialah kandungan terperinci Bagaimanakah np.newaxis Boleh Digunakan untuk Mengawal Dimensi Tatasusunan dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!