Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh mencipta tatasusunan NumPy padat dengan jenis data tertentu dan mengisi nilai yang tiada daripada jujukan senarai panjang pembolehubah?

Bagaimanakah saya boleh mencipta tatasusunan NumPy padat dengan jenis data tertentu dan mengisi nilai yang tiada daripada jujukan senarai panjang pembolehubah?

Susan Sarandon
Lepaskan: 2024-11-04 03:58:01
asal
639 orang telah melayarinya

How can I create a dense NumPy array with a specific data type and filled-in missing values from a sequence of variable-length lists?

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

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

Kod ini menghasilkan:

array([[1, 0],
       [1, 2]])
Salin selepas log masuk

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!

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