Mengindeks tatasusunan Numpy 2D dengan dua senarai indeks yang berasingan tidak semudah menggunakan satu senarai indeks. Ini boleh menjadi mencabar apabila berurusan dengan tatasusunan yang besar, kerana ia memerlukan penyiaran dan pembentukan semula tatasusunan untuk mencapai pemilihan diindeks yang diingini.
Fungsi np.ix_ dalam Numpy boleh digunakan untuk mencipta satu tuple tatasusunan pengindeksan yang boleh disiarkan antara satu sama lain untuk mencapai corak pengindeksan yang diingini. Pendekatan ini mengekalkan kebolehbacaan dan menggalakkan pengoptimuman kod.
Untuk melaksanakan pengindeksan menggunakan np.ix_, ikut langkah berikut:
Yang berikut kod menunjukkan cara menggunakan np.ix_ untuk pilihan berasaskan indeks:
<code class="python">import numpy as np # Create indices row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2] # Create broadcasting arrays index_tuples = np.ix_(row_indices, col_indices) # Perform indexing x_indexed = x[index_tuples]</code>
>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])
Sintaks Alternatif:
Sintaks alternatif untuk menggunakan np.ix_ ialah menggunakan operator : untuk menentukan semua indeks sepanjang paksi melainkan dinyatakan sebaliknya.
Penyiaran:
Adalah penting untuk ambil perhatian bahawa penyiaran berlaku di sepanjang paksi tatasusunan input. Oleh itu, saiz tatasusunan pengindeksan di sepanjang setiap paksi harus sepadan dengan dimensi tatasusunan input yang sepadan.
Pengoptimuman:
Pengindeksan menggunakan np.ix_ dan penyiaran boleh memberikan manfaat prestasi yang ketara berbanding dengan mengulangi indeks atau menggunakan topeng boolean. Ini amat berfaedah apabila bekerja dengan tatasusunan yang besar.
Atas ialah kandungan terperinci Bagaimana untuk Mengindeks Tatasusunan NumPy 2D dengan Dua Senarai Indeks Menggunakan `np.ix_`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!