Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengindeks Tatasusunan dengan Cekap dengan Teknik NumPy Lanjutan?
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]
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])
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!