Mengekstrak Elemen Menggunakan Pengindeksan Tatasusunan Integer
Apabila bekerja dengan tatasusunan berbilang dimensi, selalunya perlu untuk mengekstrak elemen tertentu berdasarkan indeks. Dalam NumPy, anda boleh menggunakan pelbagai teknik untuk mencapai matlamat ini. Salah satu kaedah sedemikian ialah dengan menggunakan pengindeksan tatasusunan integer.
Pertimbangkan contoh berikut:
A = np.array([[0,1], [2,3], [4,5]]) B = np.array([[1], [0], [1]])
Matlamat kami adalah untuk mencipta tatasusunan baharu C yang mengandungi elemen daripada A dengan indeks baris bagi setiap elemen diberikan oleh A.shape[0] dan indeks lajur diberikan oleh versi raveled B. Dalam erti kata lain, C harus be:
C = np.array([[1], [2], [5]])
Satu pendekatan menggunakan pengindeksan tatasusunan integer seperti berikut:
A[np.arange(A.shape[0]),B.ravel()]
Pendekatan ini menggunakan fungsi arange untuk menjana julat indeks bagi baris A dan kemudian menggabungkan ia dengan versi B untuk mencipta indeks lajur. Hasilnya ialah tatasusunan baharu yang mengandungi elemen yang dikehendaki.
# Sample run print(A) print(B) print(A[np.arange(A.shape[0]),B.ravel()])
Output:
[[0 1] [2 3] [4 5]] [[1] [0] [1]] [1 2 5]
Adalah penting untuk ambil perhatian bahawa jika B ialah tatasusunan 1D atau a senarai, anda boleh melangkau operasi merata dengan .ravel().
Atas ialah kandungan terperinci Bagaimana Mengekstrak Elemen daripada Tatasusunan Berbilang Dimensi Menggunakan Pengindeksan Tatasusunan Integer dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!