Próbuję iteracyjne tablicę wartości generowanych z numpy.linspace:„numpy.float64” nie jest iterable
slX = numpy.linspace(obsvX, flightX, numSPts)
slY = np.linspace(obsvY, flightY, numSPts)
for index,point in slX:
yPoint = slY[index]
arcpy.AddMessage(yPoint)
Ten kod pracował dobrze na moim komputerze biurowym, ale Usiadłem rano pracować z domu na innym komputerze i ten błąd pojawił się:
File "C:\temp\gssm_arcpy.1.0.3.py", line 147, in AnalyzeSightLine
for index,point in slX:
TypeError: 'numpy.float64' object is not iterable
slX
jest tylko tablica pływaków, a skrypt nie ma problemu z drukowaniem zawartość - wystarczy, najwyraźniej iteracja nich. Wszelkie sugestie co do tego, co jest przyczyną awarii i możliwe poprawki?
same wersje numpy? Te same wersje Pythona? Te same wersje Arc? Wreszcie, czy musisz pracować w float64? – Jzl5325
Jeden nie wykonuje iteracji po tablicy zmiennych z 'dla indeksu, punktu w slX:'. To nie zadziała w żadnej wersji Pythona z żadną wersją numpy. Zamiast tego, czy rzeczywiście uruchomiłeś 'index, point in enumerate (slX):' na twoim komputerze biurowym? To wydaje się być tym, co zamierzacie osiągnąć. –
Czy slX ma być iterable? Wygląda na to, że został zwrócony jako 64-bitowy float, dlatego nie można go iterować. Czy jest możliwe, że slX jest zwracany jako iterowalny o długości jednego, a numpy interpretuje to jako float? –