Bir sayısal diziyi diğeriyle dizinlemek - her ikisi de dtype = 'uint32' olarak tanımlanır. İndekslemek ve güvenli olmayan bir döküm hatası almak için numpy.take öğesini kullanın. Daha önce buna rastlamadım. Neler olup bittiği hakkında bir fikrin var mı?Nümerik dizi dökümü 'güvenli değil' olarak ayarlanmış
Python 2.7.8 |Anaconda 2.1.0 (32-bit)| (default, Jul 2 2014, 15:13:35) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import numpy
>>> numpy.__version__
'1.9.0'
>>> a = numpy.array([9, 7, 5, 4, 3, 1], dtype=numpy.uint32)
>>> b = numpy.array([1, 3], dtype=numpy.uint32)
>>> c = a.take(b)
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
c = a.take(b)
TypeError: Cannot cast array data from dtype('uint32') to dtype('int32') according to the rule 'safe'
Uyarı python'unu çalıştırmayla ilgili uyarı alamıyorum 3.4.3 64 bit ve numpy '1.9.2rc1' – EdChum
Sanırım sorun a.take (b) 'a' c' a atamadır. C = a.take (b) 'den önce c = numpy.array (0, dtype = numpy.uint32)' yi ayarlamayı deneyin. –
Python 2.7.5 64-bit ve numpy 1.9.1 ile burada uyarı yok. – Carsten