Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Urutan Python kepada Tatasusunan NumPy dengan Nilai Hilang Diisi?

Bagaimana untuk Menukar Urutan Python kepada Tatasusunan NumPy dengan Nilai Hilang Diisi?

Linda Hamilton
Linda Hamiltonasal
2024-11-04 11:37:30779semak imbas

How to Convert a Python Sequence to a NumPy Array with Missing Values Filled?

Tukar Jujukan Python kepada Tatasusunan NumPy dengan Nilai Hilang Diisi

Apabila menukar jujukan Python senarai panjang boleh ubah kepada tatasusunan NumPy, penukaran tersirat kepada jenis objek tatasusunan berlaku.

<code class="python">v = [[1], [1, 2]]
np.array(v)</code>

Output:

array([[1], [1, 2]], dtype=object)

Menguatkuasakan jenis data tertentu, seperti int32, akan menghasilkan pengecualian:

<code class="python">np.array(v, dtype=np.int32)</code>

Pengecualian:

ValueError: setting an array element with a sequence.

Untuk mendapatkan tatasusunan NumPy padat jenis int32 dengan nilai yang tiada diisi dengan pemegang tempat, anda boleh menggunakan itertools.zip_longest:

<code class="python">import itertools
np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>

Output:

array([[1, 0],
       [1, 2]])

Perhatikan bahawa dalam Python 2, itertools.izip_longest harus digunakan sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Urutan Python kepada Tatasusunan NumPy dengan Nilai Hilang Diisi?. 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