Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Tatasusunan Indeks kepada Tatasusunan Berekod Satu-Hot dalam NumPy?
Menukar Tatasusunan Indeks kepada Tatasusunan Berekod Satu-Hot dalam NumPy
Selalunya, ia menjadi perlu untuk mengubah tatasusunan indeks 1D ke dalam tatasusunan 2D di mana setiap baris mewakili pengekodan satu-panas indeks yang sepadan dalam tatasusunan asal.
Contoh:
Mari kita mempunyai tatasusunan 1D indeks ' a':
<code class="python">a = np.array([1, 0, 3])</code>
Kami menyasarkan untuk mencipta tatasusunan 2D 'b' di mana setiap baris adalah pengekodan satu panas bagi indeks yang sepadan dalam 'a':
<code class="python">b = np.array([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]])</code>
Penyelesaian:
Untuk mencapai transformasi ini, kita boleh menggunakan langkah berikut:
<code class="python">b = np.zeros((a.size, a.max() + 1))</code>
<code class="python">b[np.arange(a.size), a] = 1</code>
Output:
Melaksanakan kod ini menghasilkan tatasusunan terkod satu-panas yang dikehendaki 'b':
<code class="python">[[ 0. 1. 0. 0.] [ 1. 0. 0. 0.] [ 0. 0. 0. 1.]]</code>
Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Indeks kepada Tatasusunan Berekod Satu-Hot dalam NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!