Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Peranan Yang Dimainkan -1 dalam Kaedah .reshape() NumPy untuk Pembentukan Semula Tatasusunan?

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

Susan Sarandon
Susan Sarandonasal
2024-10-20 22:16:02379semak imbas

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>

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>

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>

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>

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>

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!

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