Memahami Peranan -1 dalam Numpy Reshape
Dalam Numpy, kaedah reshape() membenarkan transformasi bentuk tatasusunan. Apabila bekerja dengan tatasusunan 2D, anda boleh membentuk semula tatasusunan 1D menggunakan tatasusunan semula(-1). Contohnya:
import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) a.reshape(-1) # Output: array([[1, 2, 3, 4, 5, 6, 7, 8]])
Biasanya, tatasusunan[-1] menandakan elemen akhir dalam tatasusunan. Walau bagaimanapun, dalam konteks bentuk semula(-1), ini mempunyai makna yang berbeza.
Parameter -1 dalam Bentuk Semula
Parameter -1 dalam bentuk semula(- 1) berfungsi sebagai dimensi kad bebas. Ia menunjukkan bahawa dimensi sepadan bentuk baharu harus ditentukan secara automatik. Ini dilakukan dengan memenuhi kriteria bahawa bentuk baharu mesti diselaraskan dengan bentuk tatasusunan asal, mengekalkan dimensi linearnya.
Numpy membenarkan penggunaan -1 dalam salah satu parameter bentuk, membolehkan spesifikasi dimensi yang tidak diketahui . Contohnya, (-1, 3) atau (2, -1) ialah bentuk yang sah, manakala (-1, -1) bukan.
Contoh Bentuk Semula (-1)
Pertimbangkan tatasusunan berikut:
z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) z.shape # (3, 4)
Membentuk Semula Menggunakan (-1):
z.reshape(-1) # Output: array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) # New shape: (12,)
Membentuk Semula Menggunakan (-1, 1) (Ciri Tunggal):
z.reshape(-1, 1) # Output: array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10], # [11], [12]]) # New shape: (12, 1)
Membentuk Semula Menggunakan (-1, 2) (Barisan Tunggal):
z.reshape(1, -1) # Output: array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]) # New shape: (1, 12)
Membentuk Semula Menggunakan (2, -1):
z.reshape(2, -1) # Output: array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12]]) # New shape: (2, 6)
Membentuk Semula Menggunakan (3, -1) (Bentuk Asal):
z.reshape(3, -1) # Output: array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # New shape: (3, 4)
Perhatikan bahawa menyatakan kedua-dua dimensi sebagai -1, iaitu (-1, -1), akan mengakibatkan ralat.
Dengan memahami kepentingan -1 dalam bentuk semula(), pembangun boleh mengubah bentuk tatasusunan dengan berkesan untuk memenuhi keperluan pemprosesan data khusus mereka dalam Numpy.
Atas ialah kandungan terperinci Adakah Parameter -1 dalam Numpy\'s Reshape() merupakan Wildcard atau Nilai Tetap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!