Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengindeks Tatasusunan NumPy 2D Menggunakan Dua Senarai Indeks?
Untuk mengindeks tatasusunan NumPy 2D menggunakan dua senarai daripada indeks, tatasusunan,, kita boleh menggunakan fungsi np.ix_ bersama-sama dengan tatasusunan pengindeksan.
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Sebagai alternatif, kita boleh menggunakan np.ix_ dengan boolean mask untuk memilih dan mengindeks tatasusunan:
<code class="python">row_mask = [0, 1, 1, 0, 0, 1, 0] col_mask = [1, 0, 1, 0, 1, 1, 0, 0] x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Pertimbangkan contoh berikut:
<code class="python">import numpy as np x = np.random.randint(0, 6, (20, 8)) row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2]</code>
Untuk mengindeks x menggunakan senarai yang disediakan, kita boleh gunakan sama ada kaedah:
<code class="python"># Using np.ix_ with indexing arrays x_indexed = x[np.ix_(row_indices, col_indices)] # Using np.ix_ with masks row_mask = np.isin(np.arange(x.shape[0]), row_indices) col_mask = np.isin(np.arange(x.shape[1]), col_indices) x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Kedua-dua kaedah akan menghasilkan tatasusunan diindeks yang diingini:
<code class="python">>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengindeks Tatasusunan NumPy 2D Menggunakan Dua Senarai Indeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!