Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memilih Lajur Khusus setiap Baris dengan Cekap dalam NumPy Menggunakan Senarai atau Tatasusunan Boolean?
Memilih Lajur Khusus setiap Baris dalam NumPy Dengan Cekap Menggunakan Senarai atau Tatasusunan Boolean
NumPy menawarkan keupayaan yang luas untuk memanipulasi tatasusunan pelbagai dimensi. Walau bagaimanapun, memilih lajur tertentu berdasarkan senarai indeks untuk setiap baris boleh mencabar dan menuntut penyelesaian yang cekap.
Satu pendekatan untuk menyelesaikan isu ini ialah menggunakan tatasusunan boolean. Setiap lajur tatasusunan boolean boleh mewakili pemilihan yang diingini untuk baris tertentu. Dengan menggunakan pemilihan langsung dengan tatasusunan boolean, lajur tertentu boleh diekstrak dengan cekap. Contohnya:
<code class="python">import numpy as np a = np.array([1, 2, 3]) b = np.array([[False, True, False], [True, False, False], [False, False, True]]) a[b] # Output: [2, 4, 9]</code>
Sebagai alternatif, anda boleh membuat tatasusunan yang mewakili julat lajur dan menggunakan pemilihan langsung padanya. Pendekatan ini, walau bagaimanapun, mungkin tidak sentiasa optimum.
<code class="python">a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) a[np.arange(len(a)), [1, 0, 2]] # Output: [2, 4, 9]</code>
Dengan memanfaatkan kaedah ini, adalah wajar untuk memilih lajur khusus setiap baris dengan cekap dalam tatasusunan NumPy, tidak kira sama ada kriteria pemilihan disediakan sebagai senarai indeks atau tatasusunan boolean.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Lajur Khusus setiap Baris dengan Cekap dalam NumPy Menggunakan Senarai atau Tatasusunan Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!