Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memilih Indeks Lajur Khusus setiap Baris dengan Cekap dalam NumPy?

Bagaimana untuk Memilih Indeks Lajur Khusus setiap Baris dengan Cekap dalam NumPy?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 00:32:31814semak imbas

How to Efficiently Select Specific Column Indexes per Row in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn