Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kumpulan elemen dalam matriks menggunakan Python

Kumpulan elemen dalam matriks menggunakan Python

王林
王林ke hadapan
2023-08-28 14:01:06554semak imbas

Kumpulan elemen dalam matriks menggunakan Python

Matriks digunakan secara meluas dalam pelbagai bidang, termasuk matematik, fizik dan sains komputer. Dalam sesetengah kes kita perlu mengumpulkan unsur-unsur matriks berdasarkan kriteria tertentu. Kita boleh mengumpulkan unsur-unsur matriks mengikut baris, lajur, nilai, syarat, dsb. Dalam artikel ini, kita akan belajar cara mengumpulkan elemen matriks menggunakan Python.

Buat matriks

Sebelum mendalami kaedah pengelompokan, kita boleh membuat matriks terlebih dahulu dalam Python. Kami boleh memanipulasi matriks dengan cekap menggunakan perpustakaan NumPy. Begini cara kami mencipta matriks menggunakan NumPy:

Contoh

Kod di bawah menghasilkan matriks 3x3 dengan nilai antara 1 hingga 9.

import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

print(matrix)

Output

[[1 2 3]
 [4 5 6]
 [7 8 9]]

Kumpulkan elemen mengikut baris atau lajur

Cara paling mudah untuk mengumpulkan elemen dalam matriks ialah mengikut baris atau lajur. Kita boleh mencapai ini dengan mudah menggunakan indeks dalam Python.

Kumpulan mengikut baris

Untuk mengumpulkan elemen mengikut baris, kita boleh menggunakan matriks notasi indeks [row_index]. Sebagai contoh, untuk mengumpulkan baris kedua dalam matriks, kita boleh menggunakan matriks[1].

Tatabahasa

matrix[row_index]

Di sini, Matrix merujuk kepada nama matriks atau tatasusunan yang daripadanya kita ingin mengekstrak baris tertentu. row_index mewakili indeks baris yang ingin kita akses. Dalam Python, pengindeksan bermula pada 0, jadi baris pertama dipanggil 0, baris kedua dipanggil 1, dan seterusnya.

Contoh

import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])


row_index = 1
grouped_row = matrix[row_index]
print(grouped_row)

Output

[4 5 6]

Kumpulkan mengikut Lajur

Untuk mengumpulkan elemen mengikut lajur, kita boleh menggunakan matriks notasi indeks[:,column_index]. Sebagai contoh, untuk mengumpulkan lajur ketiga dalam matriks, kita boleh menggunakan matriks[:, 2].

Contoh

import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])


column_index = 2
grouped_column = matrix[:, column_index]
print(grouped_column)

Output

[3 6 9]

Kumpulkan elemen mengikut syarat

Dalam banyak kes, kita perlu mengumpulkan elemen berdasarkan beberapa kriteria dan bukannya mengikut baris atau lajur. Kami akan meneroka dua cara untuk mencapai ini: mengumpulkan mengikut nilai dan mengumpulkan mengikut syarat.

Kumpulkan mengikut nilai

Untuk mengumpulkan elemen dalam matriks berdasarkan nilai, kita boleh menggunakan fungsi tempat NumPy. Mengelompokkan elemen dalam matriks mengikut nilai membolehkan kita mengenal pasti dan mengekstrak elemen minat tertentu dengan mudah. Kaedah ini amat berguna apabila kita perlu menganalisis atau memanipulasi elemen dalam matriks yang mempunyai nilai tertentu.

Tatabahasa

np.where(condition[, x, y])

Di sini, syarat ialah syarat untuk dinilai. Ia boleh menjadi tatasusunan boolean atau ungkapan yang mengembalikan tatasusunan boolean x (pilihan): Nilai yang akan dikembalikan di mana keadaan itu boleh menjadi skalar atau objek seperti tatasusunan y (pilihan): Nilai yang akan dikembalikan apabila keadaannya Palsu Ia boleh menjadi objek seperti skalar atau tatasusunan.

import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

value = 2
grouped_elements = np.where(matrix == value)
print(grouped_elements)

Output

(array([0]), array([1]))

Kumpulkan mengikut syarat

Anda juga boleh menggunakan NumPy's where berfungsi untuk mengumpulkan elemen dalam matriks berdasarkan keadaan tertentu. Mari kita pertimbangkan contoh di mana kita ingin mengumpulkan semua elemen yang lebih besar daripada 5.

Tatabahasa

np.where(condition[, x, y])

Di sini,

syarat

ialah syarat untuk dinilai. Ia boleh menjadi tatasusunan boolean atau ungkapan yang mengembalikan tatasusunan boolean x (pilihan): Nilai yang akan dikembalikan di mana keadaan itu boleh menjadi skalar atau objek seperti tatasusunan y (pilihan): Nilai yang akan dikembalikan apabila keadaannya Palsu Ia boleh menjadi objek seperti skalar atau tatasusunan.
import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

condition = matrix > 5
grouped_elements = np.where(condition)
print(grouped_elements)

Output

(array([1, 2, 2, 2]), array([2, 0, 1, 2]))
Kumpulkan elemen mengikut lelaran

Cara lain untuk mengumpulkan elemen dalam matriks ialah mengulangi baris atau lajurnya dan mengumpul elemen yang diperlukan. Pendekatan ini memberi kami lebih fleksibiliti untuk melaksanakan operasi tambahan pada elemen berkumpulan.

Tatabahasa

list_name.append(element)

Di sini, fungsi append() ialah kaedah senarai yang digunakan untuk menambah elemen pada penghujung list_name Ia mengubah suai senarai asal dengan menambahkan elemen yang ditentukan sebagai item baharu.

Contoh

.
import numpy as np

# Creating a 3x3 matrix
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

grouped_rows = []

for row in matrix:
    grouped_rows.append(row)

print(grouped_rows)

Output

[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])]

Kesimpulan

Dalam artikel ini, kami membincangkan cara mengumpulkan elemen berbeza dalam matriks menggunakan fungsi terbina dalam Python Kami mula-mula mencipta matriks menggunakan perpustakaan NumPy dan kemudian membincangkan pelbagai teknik pengumpulan. Kami meliputi pengelompokan mengikut baris dan lajur, serta pengelompokan mengikut nilai dan syarat menggunakan fungsi where dalam NumPy.

Atas ialah kandungan terperinci Kumpulan elemen dalam matriks menggunakan Python. 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