Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengekstrak Elemen daripada Tatasusunan Berbilang Dimensi Menggunakan Pengindeksan Tatasusunan Integer dalam NumPy?

Bagaimana Mengekstrak Elemen daripada Tatasusunan Berbilang Dimensi Menggunakan Pengindeksan Tatasusunan Integer dalam NumPy?

Mary-Kate Olsen
Lepaskan: 2024-11-15 16:17:02
asal
341 orang telah melayarinya

How to Extract Elements from a Multidimensional Array Using Integer Array Indexing in NumPy?

Mengekstrak Elemen Menggunakan Pengindeksan Tatasusunan Integer

Apabila bekerja dengan tatasusunan berbilang dimensi, selalunya perlu untuk mengekstrak elemen tertentu berdasarkan indeks. Dalam NumPy, anda boleh menggunakan pelbagai teknik untuk mencapai matlamat ini. Salah satu kaedah sedemikian ialah dengan menggunakan pengindeksan tatasusunan integer.

Pertimbangkan contoh berikut:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]])
Salin selepas log masuk

Matlamat kami adalah untuk mencipta tatasusunan baharu C yang mengandungi elemen daripada A dengan indeks baris bagi setiap elemen diberikan oleh A.shape[0] dan indeks lajur diberikan oleh versi raveled B. Dalam erti kata lain, C harus be:

C = np.array([[1], [2], [5]])
Salin selepas log masuk

Satu pendekatan menggunakan pengindeksan tatasusunan integer seperti berikut:

A[np.arange(A.shape[0]),B.ravel()]
Salin selepas log masuk

Pendekatan ini menggunakan fungsi arange untuk menjana julat indeks bagi baris A dan kemudian menggabungkan ia dengan versi B untuk mencipta indeks lajur. Hasilnya ialah tatasusunan baharu yang mengandungi elemen yang dikehendaki.

# Sample run
print(A)
print(B)
print(A[np.arange(A.shape[0]),B.ravel()])
Salin selepas log masuk

Output:

[[0 1]
 [2 3]
 [4 5]]
[[1]
 [0]
 [1]]
[1 2 5]
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa jika B ialah tatasusunan 1D atau a senarai, anda boleh melangkau operasi merata dengan .ravel().

Atas ialah kandungan terperinci Bagaimana Mengekstrak Elemen daripada Tatasusunan Berbilang Dimensi Menggunakan Pengindeksan Tatasusunan Integer dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan