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
Lepaskan: 2024-12-05 15:42:10
asal
929 orang telah melayarinya

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

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

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

np.array([1.2, "abc"], dtype=object)
Salin selepas log masuk

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!

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