Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk meratakan matriks dalam Python menggunakan numpy?

Bagaimana untuk meratakan matriks dalam Python menggunakan numpy?

WBOY
WBOYke hadapan
2023-08-20 16:37:131095semak imbas

Bagaimana untuk meratakan matriks dalam Python menggunakan numpy?

Dalam artikel ini, kami akan menunjukkan kepada anda cara meratakan matriks menggunakan perpustakaan NumPy dalam python.

numpy.ndarray.flatten() fungsi

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.

Tatabahasa

ndarray.flatten(order='C')

Parameter

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

Kaedah 1 − Meratakan Matriks Numpy 2x2 jenis np.array()

Algoritma (Langkah)

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.

Contoh

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)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

The input numpy matrix:
[[3 5]
[4 8]]
Resultant flattened matrix:
[3 5 4 8]

Kaedah 2 − Meratakan menggunakan fungsi reshape()

Algoritma (Langkah)

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.

Contoh

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)

Output

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]]

Kaedah 3 − Meratakan Matriks Numpy 4x4 jenis np.matrix()

Terjemahan bahasa Cina ialah:

Kaedah 3 - Meratakan Matriks Numpy 4x4 jenis np.matrix()

Algoritma (Langkah)

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.

Contoh

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)

Output

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]]

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam