Rumah > pembangunan bahagian belakang > Tutorial Python > 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
Lepaskan: 2024-10-26 06:18:30
asal
972 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan