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!