Memanipulasi pilihan atau tugasan dalam tatasusunan NumPy berbilang dimensi boleh dipermudahkan menggunakan np.ix_. Begini caranya:
A. Pemilihan
np.ix_ membolehkan anda mengumpulkan tatasusunan pengindeksan ke dalam gabungan berdimensi lebih tinggi untuk mengindeks tatasusunan berbilang dimensi. Untuk membuat pilihan menggunakan dua tatasusunan pengindeksan 1D (cth., row_indices dan col_indices), gunakan:
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Ini bersamaan dengan versi bersarang di mana tatasusunan pengindeksan luar (cth., row_indices) disiarkan terhadap bahagian dalam tatasusunan pengindeksan (col_indices):
<code class="python">x_indexed = x[np.asarray(row_indices)[:,None], col_indices]</code>
B. Tugasan
Begitu juga, menggunakan tuple tatasusunan pengindeksan yang dibuat oleh np.ix_, tugasan skalar atau penyiaran blok data boleh dilakukan secara langsung:
<code class="python">x[np.ix_(row_indices, col_indices)] = scalar # assign a scalar x[np.ix_(row_indices, col_indices)] = block # assign a broadcastable block</code>
np.ix_ juga berfungsi dengan Boolean mask:
A. Pemilihan
Untuk memilih blok data menggunakan Boolean mask (row_mask dan col_mask), gunakan:
<code class="python">x[np.ix_(row_mask, col_mask)]</code>
B. Tugasan
Untuk tugasan dengan topeng Boolean, gunakan:
<code class="python">x[np.ix_(row_mask, col_mask)] = scalar # assign a scalar x[np.ix_(row_mask, col_mask)] = block # assign a broadcastable block</code>
Atas ialah kandungan terperinci Bagaimanakah `np.ix_` dapat memudahkan pemilihan dan penetapan indeks dalam tatasusunan NumPy berbilang dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!