Objektifnya adalah untuk melaksanakan pengindeksan pada tatasusunan NumPy 2D menggunakan dua senarai indeks yang disediakan, satu untuk baris dan satu untuk lajur. Hasil yang diinginkan adalah untuk mendapatkan subset tatasusunan berdasarkan indeks yang ditentukan dengan cekap.
Untuk mencapai ini, kita boleh memanfaatkan fungsi np.ix_ daripada NumPy. np.ix_ mencipta tuple tatasusunan pengindeksan yang boleh digunakan untuk penyiaran. Begini cara ia berfungsi:
Pilihan:
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Ini menghasilkan satu tuple mengindeks tatasusunan berdasarkan row_indices dan col_indices. Menyiarkan tatasusunan ini membolehkan kami mengindeks ke dalam x dan mengekstrak subset yang diingini.
Tugasan:
<code class="python">x[np.ix_(row_indices, col_indices)] = value</code>
Ini memberikan nilai yang ditentukan ke dalam kedudukan yang diindeks dalam x.
Pilihan:
<code class="python">row_mask = np.array([True, False, False, True, False], dtype=bool) col_mask = np.array([False, True, True, False, False], dtype=bool) x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Di sini, kami menggunakan topeng boolean (row_mask dan col_mask) untuk menentukan baris dan lajur yang hendak dipilih.
Tugasan:
<code class="python">x[np.ix_(row_mask, col_mask)] = value</code>
Ini memberikan nilai kepada kedudukan bertopeng dalam x.
< h3>Sample Run
Pertimbangkan tatasusunan dan senarai indeks berikut:
<code class="python">x = np.random.random_integers(0, 5, (20, 8)) row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2]</code>
Menggunakan np.ix_, kita boleh mengindeks ke dalam x:
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)] print(x_indexed) # Output: # [[76 56] # [70 47] # [46 95] # [76 56] # [92 46]]</code>
Ini memberikan kita subset tatasusunan yang dikehendaki dengan baris dan lajur yang dipilih berdasarkan indeks yang disediakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengindeks Tatasusunan NumPy 2D dengan Cekap Menggunakan Dua Senarai Indeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!