Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Maksud dan Penggunaan Nilai \'-1\' dalam Fungsi Pembentukan Semula NumPy?
Memahami Nilai '-1' dalam Fungsi Bentuk Semula NumPy
Fungsi bentuk semula NumPy membolehkan anda mengubah bentuk tatasusunan berbilang dimensi. Nilai "-1" biasanya digunakan sebagai pemegang tempat apabila menentukan bentuk baharu, tetapi tafsirannya berbeza daripada makna lazim tatasusunan[-1] sebagai elemen terakhir.
Dalam konteks bentuk semula, " -1" menunjukkan dimensi yang tidak diketahui. Fungsi ini secara automatik akan menentukan dimensi ini berdasarkan bentuk sedia ada tatasusunan dan dimensi lain yang ditentukan. Prinsip utama yang terlibat ialah bentuk baharu mestilah serasi dengan bentuk asal.
Untuk lebih memahami cara "-1" berfungsi, pertimbangkan contoh berikut:
<code class="python">import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) print(a.reshape(-1))</code>
Dalam kes ini , a mempunyai bentuk (2, 4). Dengan menggunakan reshape(-1), kami meratakan tatasusunan menjadi tatasusunan satu dimensi. Bentuk baharu menjadi (8,), yang serasi dengan bentuk asal (2x4 = 8).
Sekarang, mari kita terokai pelbagai cara menggunakan "-1" untuk membentuk semula tatasusunan:
Membentuk Semula kepada Ciri Tunggal:
Untuk membentuk semula tatasusunan menjadi bentuk yang mempunyai satu ciri (iaitu, satu lajur), kita boleh menggunakan bentuk semula(-1, 1):
<code class="python">print(a.reshape(-1, 1))</code>
Ini akan menghasilkan bentuk (8, 1), di mana setiap elemen ialah baris daripada tatasusunan asal.
Membentuk semula kepada Sampel Tunggal:
Begitu juga, untuk membentuk semula tatasusunan ke dalam bentuk yang mempunyai sampel tunggal (iaitu, baris tunggal), kita boleh menggunakan bentuk semula(1, -1):
<code class="python">print(a.reshape(1, -1))</code>
Ini akan menghasilkan bentuk (1, 8), di mana setiap elemen ialah lajur daripada tatasusunan asal.
Membentuk Semula dengan Dimensi Tidak Diketahui:
Jika kita tentukan hanya satu dimensi sebagai "-1," fungsi akan mengira dimensi yang tidak diketahui berdasarkan bentuk asal dan dimensi yang disediakan:
<code class="python">print(a.reshape(2, -1))</code>
Dalam contoh ini, kami menentukan bilangan baris sebagai 2. Fungsi akan mengira bilangan lajur menjadi 6, menghasilkan bentuk (2, 6).
Ralat dengan Berbilang Dimensi Tidak Diketahui:
Adalah penting untuk ambil perhatian bahawa menyatakan berbilang dimensi kerana "-1" akan mengakibatkan ralat, kerana fungsi hanya boleh mengendalikan satu dimensi yang tidak diketahui:
<code class="python">try: a.reshape(-1, -1) except ValueError as e: print(e)</code>
Ini akan menjana mesej ralat "hanya boleh menentukan satu dimensi yang tidak diketahui."
Atas ialah kandungan terperinci Apakah Maksud dan Penggunaan Nilai \'-1\' dalam Fungsi Pembentukan Semula NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!