2012-09-28 77 views
5

Soy algo nuevo en python y estoy usando módulos de python en otro programa (ABAQUS). La pregunta, sin embargo, está completamente relacionada con Python.python: convertir un tipo de datos numpy array de int64 a int

En el programa, necesito crear una matriz de enteros. Esta matriz se usará más tarde como una entrada en una función definida en ABAQUS. El problema es hacer con el tipo de datos de los enteros. En la matriz, los enteros tienen el tipo de datos 'int64'. Sin embargo, estoy recibiendo el siguiente error cuando la entrada de la matriz a la función deseada:

"Sólo INT, FLOAT y DOUBLE soportado por la interfaz de ABAQUS (uso multiarray con int TypeCode si estándar larga es de 64 bits)"

No necesito ayuda con ABAQUS. Si convierto el tipo de datos a 'int' en python, eso sería suficiente. Pensé que simplemente podría usar la función int() para convertir el tipo de datos. Esto no funcionó. Cualquier sugerencia será muy apreciada. Gracias a todos.

+5

'a.astype (int)' – jfs

+0

@Sebastian: Eso todavía deja el tipo de datos que Int64. Funciona para cambiar el tipo de datos de int a float. Pero no para int64 a int. – Srikanth

+2

utilice el tipo que desee, por ejemplo, 'np.int32' – jfs

Respuesta

8

@ J.F. La respuesta de Sebastián:

a.astype(numpy.int32)