Mengindeks Satu Tatasusunan dengan Satu Lagi dalam NumPy
Dalam pengkomputeran saintifik, memanipulasi tatasusunan berbilang dimensi ialah tugas biasa. Keupayaan pengindeksan lanjutan NumPy menyediakan alat yang berkuasa untuk operasi pengindeksan yang kompleks, menjadikannya mudah untuk mengekstrak data daripada tatasusunan berdasarkan nilai indeks yang disimpan dalam tatasusunan lain.
Pertimbangkan matriks A dengan nilai arbitrari dan matriks B yang mengandungi indeks unsur dalam A. Tugasnya adalah untuk memilih nilai daripada A yang ditunjuk oleh B, menghasilkan matriks C.
Satu pendekatan untuk mencapai ini adalah melalui NumPy's maju pengindeksan:
C = A[np.arange(A.shape[0])[:, None], B]
Pendekatan ini beroperasi dengan cekap pada tatasusunan besar tanpa memerlukan gelung.
Pengindeksan linear menyediakan kaedah lain untuk ini operasi:
m, n = A.shape C = np.take(A, B + n * np.arange(m)[:, None])
Kedua-dua pengindeksan lanjutan dan pengindeksan linear menawarkan kaedah yang cekap untuk mengindeks satu tatasusunan dengan tatasusunan yang lain dalam NumPy.
Atas ialah kandungan terperinci Bagaimana untuk Mengindeks Satu Tatasusunan NumPy oleh Yang Lain: Pengindeksan Lanjutan lwn Pengindeksan Linear?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!