Mengisi Nilai Hilang dalam Penukaran Tatasusunan NumPy
Apabila menukar jujukan Python senarai panjang boleh ubah kepada tatasusunan NumPy, tatasusunan yang terhasil selalunya menganggap jenis data objek kerana kepanjangan senarai yang berbeza-beza. Menguatkuasakan jenis data tertentu, seperti int32, boleh membawa kepada ralat.
Untuk mendapatkan tatasusunan NumPy padat dengan cekap dengan jenis data tertentu dan nilai yang tiada diisi, modul itertools boleh digunakan. Khususnya, fungsi zip_longest boleh digunakan untuk melapik senarai dengan nilai pemegang tempat.
Sebagai contoh, diberikan urutan v:
v = [[1], [1, 2]]
Untuk mencipta tatasusunan int32 padat dengan sifar sebagai pemegang tempat:
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Kod ini menghasilkan:
array([[1, 0], [1, 2]])
di mana nilai yang hilang dalam urutan asal diisi dengan sifar. Terutama, untuk Python 2, fungsi yang digunakan ialah itertools.izip_longest.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta tatasusunan NumPy padat dengan jenis data tertentu dan mengisi nilai yang tiada daripada jujukan senarai panjang pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!