
Mengindeks Tatasusunan NumPy 2D dengan 2 Senarai Indeks
Menggunakan np.ix_ dengan Tatasusunan Pengindeksan
Untuk mengindeks tatasusunan NumPy 2D menggunakan dua senarai daripada indeks, tatasusunan,, kita boleh menggunakan fungsi np.ix_ bersama-sama dengan tatasusunan pengindeksan.
1 | <code class = "python" >x_indexed = x[np.ix_(row_indices, col_indices)]</code>
|
Salin selepas log masuk
Menggunakan np.ix_ dengan Topeng
Sebagai alternatif, kita boleh menggunakan np.ix_ dengan boolean mask untuk memilih dan mengindeks tatasusunan:
1 2 3 4 | <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>
|
Salin selepas log masuk
Contoh
Pertimbangkan contoh berikut:
1 2 3 4 5 6 | <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>
|
Salin selepas log masuk
Untuk mengindeks x menggunakan senarai yang disediakan, kita boleh gunakan sama ada kaedah:
1 2 3 4 5 6 7 8 | <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>
|
Salin selepas log masuk
Kedua-dua kaedah akan menghasilkan tatasusunan diindeks yang diingini:
1 2 3 4 5 6 | <code class = "python" >>>> x_indexed
array ([[76, 56],
[70, 47],
[46, 95],
[76, 56],
[92, 46]])</code>
|
Salin selepas log masuk
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!