[pyar] No consigo manejar excepción en matriz de numpy
Adrian Roldan
roldanadrian en gmail.com
Vie Mayo 18 13:21:44 ART 2012
Hola gente, tengo al menos, un problema. No me doy cuenta como manejar una
excepción del tipo división por cero.
Les muestro una parte del código:
matriz = np.hstack((matrizdatos1, matrizdatos2))
for linea in matriz:
try:
kt = linea[17] / linea[6]
except ZeroDivisionError:
kt = -8000
print kt
armo una matriz de numpy con datos que tengo en dos archivos, la recorro y
hago la división. Cuando encuentra un cero en linea[6]
me devuelve inf en lugar de asignar -8000. ¿Será que así no se manejan las
excepciones en numpy, que estoy haciendo algo mal, o que ya estoy loco?
No quiero hacer lo siguiente, que sí funciona:
for linea in matriz:
if linea[6] == 0:
kt = -8000
Aparte de no hacer lo que yo quisiera que haga me da la siguiente
advertencia:
ktprovisorio.py:15: RuntimeWarning: divide by zero encountered in
double_scalars
kt = linea[17] / linea[6]
ktprovisorio.py:15: RuntimeWarning: invalid value encountered in
double_scalars
kt = linea[17] / linea[6]
La búsqueda en la red del error no me aclaró nada.
Me imprimí los tipos y son
linea6 <type 'numpy.float64'> linea17 <type 'numpy.float64'>
No estoy seguro de hacia que lado disparar, cualquier ayuda es bienvenida.
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120518/c32b501b/attachment.html>
More information about the pyar
mailing list