Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk meratakan matriks dalam Python menggunakan numpy?
Dalam artikel ini, kami akan menunjukkan kepada anda cara meratakan matriks menggunakan perpustakaan NumPy dalam python.
Modul numpy termasuk fungsi yang dipanggil numpy.ndarray.flatten() yang mengembalikan salinan satu dimensi tatasusunan dan bukannya tatasusunan dua dimensi atau berbilang dimensi.
Dalam istilah mudah, kita boleh katakan ia meratakan matriks kepada 1 dimensi.
ndarray.flatten(order='C')
pesanan − 'C', 'F', 'A', 'K' (pilihan)
Apabila kita menetapkan parameter pengisihan kepada 'C,', tatasusunan diratakan dalam tertib utama baris.
Apabila 'F' ditetapkan, tatasusunan diratakan dalam susunan lajur-utama.
Tatasusunan dikembangkan dalam susunan utama lajur hanya jika 'a' ialah Fortran bersebelahan dalam ingatan dan parameter susunan ditetapkan kepada 'A' . Susunan terakhir ialah 'K', yang membuka balutan tatasusunan dalam susunan yang sama seperti unsur-unsur yang muncul dalam ingatan. Parameter ini ditetapkan kepada 'C' secara lalai.
Nilai Pulangan − Mengembalikan matriks 1-D yang diratakan
Berikut ialah algoritma/langkah untuk melaksanakan tugasan yang diperlukan:
Gunakan kata kunci import untuk mengimport modul numpy dengan alias (np).
Gunakan fungsi numpy.array() (yang mengembalikan ndarray. ndarray ialah objek tatasusunan yang memenuhi keperluan yang diberikan) untuk mencipta tatasusunan numpy dengan menghantar tatasusunan 2 dimensi (2 baris, 2 lajur) sebagai hujah kepadanya.
Cetak matriks 2D yang diberi.
Gunakan fungsi flatten() modul numpy (ratakan matriks kepada satu dimensi) pada matriks input untuk meratakan matriks dua dimensi input ke dalam matriks satu dimensi.
Cetak matriks leper yang terhasil bagi matriks input.
Atur cara berikut meratakan input matriks 2-Dimensi yang diberikan kepada matriks 1-Dimensi menggunakan fungsi flatten() dan mengembalikannya −
# importing numpy module with an alias name import numpy as np # creating a 2-Dimensional(2x2) numpy matrix inputMatrix = np.array([[3, 5], [4, 8]]) # printing the input 2D matrix print("The input numpy matrix:") print(inputMatrix) # flattening the 2D matrix to one-dimensional matrix flattenMatrix = inputMatrix.flatten() # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Apabila dilaksanakan, program di atas akan menjana output berikut -
The input numpy matrix: [[3 5] [4 8]] Resultant flattened matrix: [3 5 4 8]
Berikut ialah algoritma/langkah untuk melaksanakan tugasan yang diperlukan:
Gunakan fungsi numpy.array()(mengembalikan ndarray. ndarray ialah objek tatasusunan yang memenuhi keperluan yang diberikan), untuk mencipta tatasusunan numpy dengan menghantar tatasusunan 4 Dimensi(4baris, 4lajur) sebagai hujah kepadanya.
Cetak matriks 4D yang diberikan.
Kira bilangan unsur matriks dengan mendarab panjang tatasusunan NumPy dengan sendirinya. Nilai ini mewakili bilangan lajur yang diperlukan.
Gunakan fungsi reshape()(membentuk semula tatasusunan tanpa menjejaskan datanya) untuk membentuk semula tatasusunan dan meratakan matriks input(4D) kepada matriks satu dimensi.
Cetak matriks leper yang terhasil bagi matriks input.
Atur cara berikut menggunakan fungsi reshape() untuk meratakan matriks 4 dimensi yang diberikan kepada matriks 1 dimensi dan mengembalikan hasilnya -
# importing numpy module with an alias name import numpy as np # creating a 4-Dimensional(4x4) numpy matrix inputMatrix = np.array([[1, 2, 3, 97], [4, 5, 6, 98], [7, 8, 9, 99], [10, 11, 12, 100]]) # Getting the total Number of elements of the matrix matrixSize = len(inputMatrix) * len(inputMatrix) # printing the input 4D matrix print("The input numpy matrix:") print(inputMatrix) # reshaping the array and flattening the 4D matrix to a one-dimensional matrix # here (1,matrixSize(16)) says 1 row and 16 columns(Number of elements) flattenMatrix= np.reshape(inputMatrix, (1, matrixSize)) # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Apabila dilaksanakan, program di atas akan menjana output berikut -
The input numpy matrix: [[ 1 2 3 97] [ 4 5 6 98] [ 7 8 9 99] [ 10 11 12 100]] Resultant flattened matrix: [[ 1 2 3 97 4 5 6 98 7 8 9 99 10 11 12 100]]
Terjemahan bahasa Cina ialah:
Berikut ialah algoritma/langkah untuk melaksanakan tugasan yang diperlukan:
Gunakan fungsi numpy.matrix() (yang mengembalikan matriks daripada rentetan data atau objek seperti tatasusunan. Matriks yang terhasil ialah tatasusunan 4D khusus) dengan menghantar tatasusunan 4D (4 baris, 4 lajur) sebagai hujah Luluskannya untuk mencipta matriks numpy.
Cetak matriks leper yang terhasil bagi matriks input.
Atur cara berikut menggunakan fungsi flatten() untuk meratakan matriks 4 dimensi yang diberikan kepada matriks 1 dimensi dan mengembalikan hasilnya -
# importing NumPy module with an alias name import numpy as np # creating a NumPy matrix (4x4 matrix) using matrix() method inputMatrix = np.matrix('[11, 1, 8, 2; 11, 3, 9 ,1; 1, 2, 3, 4; 9, 8, 7, 6]') # printing the input 4D matrix print("The input numpy matrix:") print(inputMatrix) # flattening the 4D matrix to one-dimensional matrix flattenMatrix = inputMatrix.flatten() # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Apabila dilaksanakan, program di atas akan menjana output berikut -
The input numpy matrix: [[11 1 8 2] [11 3 9 1] [ 1 2 3 4] [ 9 8 7 6]] Resultant flattened matrix: [[11 1 8 2 11 3 9 1 1 2 3 4 9 8 7 6]]
Dalam siaran ini, kami belajar cara meratakan matriks dalam Python menggunakan tiga contoh berbeza. Kami belajar cara mendapatkan matriks dalam Numpy menggunakan dua kaedah berbeza: numpy.array() dan NumPy.matrix(). Kami juga mempelajari cara meratakan matriks menggunakan fungsi bentuk semula.
Atas ialah kandungan terperinci Bagaimana untuk meratakan matriks dalam Python menggunakan numpy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!