Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah np.newaxis Boleh Digunakan untuk Mengawal Dimensi Tatasusunan dalam NumPy?

Bagaimanakah np.newaxis Boleh Digunakan untuk Mengawal Dimensi Tatasusunan dalam NumPy?

Barbara Streisand
Barbara Streisandasal
2024-10-26 01:56:02164semak imbas

How Can np.newaxis Be Used to Control Array Dimensions in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn