El objeto ‘numpy.float64’ no es iterable

Estoy tratando de iterar una matriz de valores generados con numpy.linspace:

slX = numpy.linspace(obsvX, flightX, numSPts) slY = np.linspace(obsvY, flightY, numSPts) for index,point in slX: yPoint = slY[index] arcpy.AddMessage(yPoint) 

Este código funcionó bien en la computadora de mi oficina, pero esta mañana me senté a trabajar desde casa en una máquina diferente y surgió este error:

 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 es solo una serie de flotadores, y el script no tiene problemas para imprimir el contenido, simplemente, aparentemente iterando a través de ellos. ¿Alguna sugerencia sobre qué está causando que se rompa, y posibles soluciones?

numpy.linspace() te da una matriz NumPy unidimensional. Por ejemplo:

 >>> my_array = numpy.linspace(1, 10, 10) >>> my_array array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]) 

Por lo tanto:

 for index,point in my_array 

no puede trabajar. Necesitaría algún tipo de matriz bidimensional con dos elementos en la segunda dimensión:

 >>> two_d = numpy.array([[1, 2], [4, 5]]) >>> two_d array([[1, 2], [4, 5]]) 

Ahora puedes hacer esto:

 >>> for x, y in two_d: print(x, y) 1 2 4 5