Apakah Peranan Yang Dimainkan -1 dalam Kaedah .reshape() NumPy untuk Pembentukan Semula Tatasusunan?

Susan Sarandon
Lepaskan: 2024-10-20 22:16:02
asal
377 orang telah melayarinya

What Role Does -1 Play in NumPy's .reshape() Method for Array Reshaping?

Apakah Maksud -1 dalam Kaedah .reshape() NumPy?

Dalam NumPy, kaedah .reshape() digunakan untuk mengubah suai bentuk tatasusunan pelbagai dimensi. Menariknya, nilai -1 boleh digunakan untuk membentuk semula tatasusunan dengan cara tertentu.

Memahami Konsep -1

Dalam NumPy, -1 menunjukkan yang tidak diketahui dimensi untuk membentuk semula tatasusunan. Apabila anda memberikan -1 sebagai salah satu parameter bentuk, anda menyatakan bahawa bentuk harus dikira secara automatik untuk memenuhi syarat tertentu.

Keserasian dengan Bentuk Asal

Sesuatu yang penting syarat untuk membentuk semula tatasusunan ialah bentuk baharu mestilah serasi dengan bentuk asal. Ini bermakna bilangan elemen dalam tatasusunan bentuk semula mesti sepadan dengan bilangan elemen dalam tatasusunan asal.

Menyimpulkan Dimensi Tidak Diketahui

NumPy mengira dimensi yang tidak diketahui dengan mengambil kira panjang tatasusunan dan dimensi lain yang ditentukan. Ia memastikan bentuk baharu itu memenuhi syarat keserasian yang dinyatakan di atas.

Contoh

Pertimbangkan tatasusunan NumPy berikut:

<code class="python">z = np.array([[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]])</code>
Salin selepas log masuk

Bentuk asalnya ialah (3, 4).

Membentuk semula dengan (-1)

Membentuk semula z dengan (-1) sebagai satu-satunya parameter memberi kita tatasusunan 1D dengan semua elemen:

<code class="python">z.reshape(-1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])</code>
Salin selepas log masuk

Membentuk semula dengan (-1, 1)

Membentuk semula dengan (-1, 1) mencipta tatasusunan dengan baris yang tidak diketahui dan satu lajur:

<code class="python">z.reshape(-1, 1)
array([[ 1],
   [ 2],
   [ 3],
   [ 4],
   [ 5],
   [ 6],
   [ 7],
   [ 8],
   [ 9],
   [10],
   [11],
   [12]])</code>
Salin selepas log masuk

Membentuk semula dengan (-1, 2)

Menggunakan (-1, 2) menghasilkan tatasusunan dengan baris dan dua lajur yang tidak diketahui:

<code class="python">z.reshape(-1, 2)
array([[ 1,  2],
   [ 3,  4],
   [ 5,  6],
   [ 7,  8],
   [ 9, 10],
   [11, 12]])</code>
Salin selepas log masuk

Membentuk semula dengan (1, -1)

Membentuk semula dengan (1, -1) mencipta tatasusunan dengan satu baris dan lajur yang tidak diketahui:

<code class="python">z.reshape(1,-1)
array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12]])</code>
Salin selepas log masuk

Membentuk semula dengan (-1, -1)

Walau bagaimanapun, jika anda menentukan kedua-dua dimensi sebagai -1, NumPy akan menimbulkan ValueError kerana ia tidak dapat menentukan bentuk baharu secara unik.

Atas ialah kandungan terperinci Apakah Peranan Yang Dimainkan -1 dalam Kaedah .reshape() NumPy untuk Pembentukan Semula Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!