Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengakses Elemen Tatasusunan dalam NumPy Menggunakan Indeks daripada Tatasusunan Lain?

Bagaimana untuk Mengakses Elemen Tatasusunan dalam NumPy Menggunakan Indeks daripada Tatasusunan Lain?

Susan Sarandon
Lepaskan: 2024-11-11 02:03:02
asal
741 orang telah melayarinya

How to Access Array Elements in NumPy Using Indices from Another Array?

Mengakses Elemen Tatasusunan menggunakan Indeks Tatasusunan dalam NumPy

Fungsi terindeks NumPy menyediakan teknik manipulasi data yang berkuasa, termasuk keupayaan untuk memilih elemen daripada satu tatasusunan menggunakan indeks yang ditentukan oleh tatasusunan lain. Untuk mencapai matlamat ini:

Pendekatan 1: Menggunakan Pengindeksan Lanjutan

A[np.arange(A.shape[0])[:,Tiada] ,B]

Kod ini memanfaatkan pengindeksan lanjutan, dengan np.arange(A.shape[0])[:,None] mencipta vektor lajur dengan indeks untuk setiap baris dalam A. Menggabungkan ini dengan B membolehkan pengindeksan A di sepanjang kedua-dua baris dan lajur.

Pendekatan 2: Pengindeksan Linear

m,n = A.shape
np.take(A,B n*np.arange(m)[:,Tiada])

Pendekatan ini menggunakan pengindeksan linear, di mana setiap elemen dalam A ditangani dengan satu indeks. Ia mula-mula mengira indeks linear dengan menambah baris yang sepadan daripada B kepada jujukan linear yang dijana menggunakan np.arange. Indeks linear ini kemudiannya digunakan untuk mendapatkan semula elemen daripada A.

Penggunaan Sampel:

Diberi matriks A:

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])
Salin selepas log masuk

Dan matriks indeks B :

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])
Salin selepas log masuk

Menggunakan pendekatan menghasilkan hasil yang diinginkan:

array([[2, 2, 4, 5],
       [1, 9, 8, 6],
       [2, 0, 7, 8]])
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Elemen Tatasusunan dalam NumPy Menggunakan Indeks daripada Tatasusunan Lain?. 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