Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memilih Indeks Lajur Khusus setiap Baris dengan Cekap dalam NumPy?
NumPy: Pemilihan Cekap Indeks Lajur Khusus setiap Baris
Pemilihan data ialah operasi penting dalam analisis data. Apabila bekerja dengan tatasusunan NumPy, memilih lajur tertentu daripada setiap baris boleh menjadi tugas biasa. Pemilihan ini boleh dicapai dengan pelbagai kaedah, tetapi memilih lajur berdasarkan senarai indeks setiap baris memerlukan pendekatan yang lebih cekap.
Menggunakan Tatasusunan Boolean untuk Pemilihan Terus
Jika anda mempunyai tatasusunan boolean yang menunjukkan lajur yang akan dipilih, anda boleh menggunakan pemilihan langsung untuk mengekstrak nilai yang dikehendaki dengan cekap. Tatasusunan Boolean boleh dibuat dengan membandingkan senarai indeks dengan julat lajur. Sebagai contoh, diberikan matriks X dan senarai indeks Y seperti yang diterangkan dalam soalan, anda boleh mencipta tatasusunan boolean b seperti berikut:
<code class="python">import numpy as np X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) Y = np.array([1, 0, 2]) b = np.arange(X.shape[1])[np.isin(np.arange(X.shape[1]), Y)]</code>
Dengan tatasusunan boolean b, pemilihan langsung boleh dilakukan:
<code class="python">result = X[np.arange(X.shape[0]), b]</code>
Kaedah ini menyediakan cara pantas untuk memilih lajur tertentu berdasarkan tatasusunan boolean.
Kaedah Ganti
Sebagai alternatif, anda boleh menggunakan np.arange dan pemilihan langsung berdasarkan senarai indeks Y. Pendekatan ini melibatkan mewujudkan tatasusunan indeks dan memilih daripada matriks X dengan sewajarnya:
<code class="python">result = X[np.arange(X.shape[0]), Y]</code>
Kesimpulan
Memilih indeks lajur khusus setiap baris dalam NumPy boleh dilakukan dengan cekap menggunakan tatasusunan boolean. Kaedah ini menyediakan pemilihan lajur yang cepat dan mudah berdasarkan senarai indeks. Untuk tatasusunan data yang besar, pendekatan ini akan menawarkan faedah prestasi yang ketara berbanding kaedah berasaskan lelaran.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Indeks Lajur Khusus setiap Baris dengan Cekap dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!