Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah \'np.newaxis\' NumPy boleh digunakan untuk mendayakan penyiaran dalam operasi tatasusunan?

Bagaimanakah \'np.newaxis\' NumPy boleh digunakan untuk mendayakan penyiaran dalam operasi tatasusunan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 06:18:30875semak imbas

How can NumPy's 'np.newaxis' be used to enable broadcasting in array operations?

Apakah itu 'np.newaxis' NumPy dan Cara Menggunakannya

Memahami 'np.newaxis'

'np.newaxis' NumPy, juga dikenali sebagai 'Tiada', ialah indeks pseudo yang digunakan untuk menambah paksi pada tatasusunan buat sementara waktu. Apabila digunakan sekali, ia meningkatkan dimensi tatasusunan sebanyak satu. Contohnya, tatasusunan 1D menjadi tatasusunan 2D, tatasusunan 2D menjadi tatasusunan 3D dan seterusnya.

Senario untuk Menggunakan 'np.newaxis'

Senario 1: Mencipta Vektor Baris/Lajur daripada Tatasusunan 1D

'np.newaxis' boleh digunakan untuk menukar tatasusunan 1D secara eksplisit kepada vektor baris (dengan memasukkan paksi di sepanjang dimensi pertama) atau vektor lajur (dengan memasukkan paksi di sepanjang dimensi kedua).

Senario 2: Mendayakan Penyiaran NumPy

'np.newaxis' menjadi berguna apabila melaksanakan operasi yang melibatkan Penyiaran NumPy. Sebagai contoh, pertimbangkan untuk menambah dua tatasusunan dengan bentuk '(5,)' dan '(3,)'. NumPy akan menimbulkan ralat kerana bentuk yang tidak serasi. Dengan menggunakan 'np.newaxis' untuk meningkatkan dimensi satu tatasusunan, penyiaran boleh didayakan untuk melaksanakan operasi.

Senario 3: Mempromosikan Tatasusunan kepada Dimensi Lebih Tinggi

'np.newaxis' boleh digunakan beberapa kali untuk mempromosikan tatasusunan kepada dimensi yang lebih tinggi, yang mungkin diperlukan untuk tatasusunan tertib lebih tinggi (tensor).

Contoh Penggunaan

Kepada gunakan 'np.newaxis', masukkan ke dalam ungkapan penghirisan. Contohnya:

<code class="python"># Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]</code>

Untuk mendayakan penyiaran:

<code class="python"># Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new + x2</code>

Alternatif: 'np.expand_dims'

'np.expand_dims' ialah alternatif kepada 'np.newaxis' yang menyediakan kwarg 'paksi' intuitif untuk menentukan titik sisipan paksi baharu.

Nota Tambahan

  • ' np.newaxis' menambah paksi buat sementara waktu, tidak seperti 'np.reshape' yang membentuk semula tatasusunan kepada reka letak baharu.
  • 'np.newaxis' dan 'Tiada' ialah objek yang setara.

Atas ialah kandungan terperinci Bagaimanakah \'np.newaxis\' NumPy boleh digunakan untuk mendayakan penyiaran dalam operasi tatasusunan?. 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