Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengindeks Tatasusunan dengan Cekap dengan Teknik NumPy Lanjutan?

Bagaimana untuk Mengindeks Tatasusunan dengan Cekap dengan Teknik NumPy Lanjutan?

Linda Hamilton
Lepaskan: 2024-11-16 15:51:03
asal
919 orang telah melayarinya

How to Efficiently Index Arrays with Advanced NumPy Techniques?

Mengindeks Tatasusunan dengan Teknik NumPy Lanjutan

Dalam pelbagai senario pengiraan, adalah perlu untuk mengindeks satu tatasusunan berdasarkan nilai yang lain. Pertimbangkan contoh di mana kita mempunyai dua matriks: A dengan nilai arbitrari dan B mengandungi indeks. Objektifnya adalah untuk memilih nilai daripada A seperti yang ditentukan oleh indeks dalam B.

Untuk mencapai ini, NumPy menawarkan kaedah pengindeksan yang berbeza:

1. Pengindeksan Lanjutan:

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

Pendekatan pengindeksan ini memulakan tatasusunan baharu menggunakan np.arange untuk mencipta indeks lajur bagi setiap baris. Kemudian, ia menggunakan indeks baris ini sebagai dimensi pertama dan nilai daripada B sebagai dimensi kedua untuk mengekstrak nilai daripada A.

2. Pengindeksan Linear:

m, n = A.shape
out = np.take(A, B + n * np.arange(m)[:, None])
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan pengindeksan linear, dengan m dan n mewakili bentuk A . Ia menggunakan np.take untuk memilih elemen berdasarkan tatasusunan gabungan B dan mengimbangi indeks yang dicipta dengan mendarab n dengan indeks baris daripada np.arange .

Atas ialah kandungan terperinci Bagaimana untuk Mengindeks Tatasusunan dengan Cekap dengan Teknik NumPy Lanjutan?. 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