Rumah >pembangunan bahagian belakang >Tutorial Python >ValueError: Menetapkan Elemen Tatasusunan dengan Urutan: Mengapa Ralat NumPy Ini Berlaku?

ValueError: Menetapkan Elemen Tatasusunan dengan Urutan: Mengapa Ralat NumPy Ini Berlaku?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 15:42:10931semak imbas

ValueError: Setting an Array Element with a Sequence: Why Does This NumPy Error Occur?

ValueError: Menetapkan Elemen Tatasusunan dengan Urutan

Apabila bekerja dengan tatasusunan NumPy, anda kadang-kadang menghadapi ralat "ValueError: menetapkan tatasusunan elemen dengan urutan." Isu ini timbul atas dua sebab yang berpotensi:

Sebab 1: Mencipta Tatasusunan Bergerigi

Tatasusunan NumPy memerlukan dimensi yang konsisten pada keseluruhannya. Percubaan untuk mencipta tatasusunan daripada senarai yang unsur-unsur mempunyai panjang yang berbeza akan mencetuskan ralat ini:

np.array([[1, 2], [2, 3, 4]])         # Wrong!
np.array([[1, 2], [2, [3, 4]]])       # Wrong!

Dalam keadaan ini, senarai input tidak boleh diwakili sebagai tatasusunan berbilang dimensi dengan bentuk seragam.

Sebab 2: Jenis Elemen Tidak Serasi

Apabila mengisytiharkan tatasusunan dengan jenis data tertentu (cth., apungan), anda mesti memastikan bahawa semua elemen adalah daripada jenis yang sama. Mencampurkan jenis yang berbeza, seperti rentetan dan apungan, akan menghasilkan ralat:

np.array([1.2, "abc"], dtype=float)   # Wrong!

Jika anda memerlukan tatasusunan yang mengandungi unsur pelbagai jenis, pertimbangkan untuk menggunakan jenis data objek:

np.array([1.2, "abc"], dtype=object)

Atas ialah kandungan terperinci ValueError: Menetapkan Elemen Tatasusunan dengan Urutan: Mengapa Ralat NumPy Ini Berlaku?. 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