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

Patricia Arquette
Lepaskan: 2024-10-27 00:32:31
asal
895 orang telah melayarinya

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>
Salin selepas log masuk

Dengan tatasusunan boolean b, pemilihan langsung boleh dilakukan:

<code class="python">result = X[np.arange(X.shape[0]), b]</code>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan