Penyelesaian kepada ralat kiub NoSuchDimensionError(nama)

WBOY
Lepaskan: 2024-03-01 17:19:02
ke hadapan
1175 orang telah melayarinya

Penyelesaian kepada ralat kiub NoSuchDimensionError(nama)

Sebab ralat

"NoSuchDimensionError(name)" ralat dalam python biasanya disebabkan oleh penggunaan nama dimensi yang tidak wujud. Ini mungkin disebabkan oleh penggunaan nama dimensi yang salah dalam atur cara atau oleh dimensi yang tiada daripada struktur data. Sebagai contoh, ralat ini mungkin berlaku jika program cuba mengakses dimensi yang tidak wujud bagi array berbilang dimensi.

Cara menyelesaikan

Untuk menyelesaikan ralat ini, anda harus menyemak dahulu sama ada nama dimensi yang digunakan dalam program adalah betul. Jika nama dimensi salah, ia harus dibetulkan kepada nama yang betul. Jika nama dimensi adalah betul, maka struktur data hendaklah diperiksa untuk melihat sama ada dimensi itu tiada, dimensi perlu ditambah atau struktur data harus diganti.

Selain itu, apabila menggunakan perpustakaan numpy, anda boleh menambah dimensi dengan menggunakan numpy.newaxis dan bukannya secara langsung menentukan dimensi yang tidak wujud, yang boleh mengelakkan ralat ini.

Contoh Penggunaan

Ya, ini contohnya.

Katakan anda mempunyai susunan 2D

>>> import numpy as np
>>> arr = np.array([[1, 2, 3], [4, 5, 6]])
Salin selepas log masuk

Jika anda cuba mengakses dimensi ketiga yang tidak wujud, ralat "NoSuchDimensionError(name)" akan dilemparkan

>>> arr[:,:,0]
Traceback (most recent call last):
File "", line 1, in 
IndexError: too many indices for array
Salin selepas log masuk

Cara yang betul ialah menggunakan `numpy.newaxis` untuk menambah satu dimensi:

>>> new_arr = arr[:,:,np.newaxis]
>>> new_arr.shape
(2, 3, 1)
Salin selepas log masuk

Dengan cara ini tiada ralat akan dilemparkan.

Atas ialah kandungan terperinci Penyelesaian kepada ralat kiub NoSuchDimensionError(nama). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!