2012-09-28 15 views
5

Sono un po 'nuovo per Python e sto usando i moduli Python in un altro programma (ABAQUS). La domanda, tuttavia, è completamente correlata a Python.python: conversione di un tipo di dati array numpy da int64 a int

Nel programma, ho bisogno di creare una matrice di numeri interi. Questo array verrà in seguito utilizzato come input in una funzione definita in ABAQUS. Il problema riguarda il tipo di dati degli interi. Nell'array, i numeri interi hanno il tipo di dati 'int64'. Tuttavia, sto ottenendo il seguente errore quando ingresso la matrice per la funzione desiderata:

"Solo INT, float e double supportato dall'interfaccia ABAQUS (uso multiarray con typecode int se lungo standard è 64 bit)"

Non ho bisogno di assistenza con ABAQUS. Se converto il tipo di dati in 'int' in python, sarebbe sufficiente. Ho pensato che potevo semplicemente usare la funzione int() per convertire il tipo di dati. Questo non ha funzionato. Qualsiasi suggerimento sarà molto apprezzato. Grazie a tutti.

+5

'a.astype (int)' – jfs

+0

@Sebastian: Che lascia ancora il tipo di dati come Int64. Funziona per cambiare il tipo di dati da int a float. Ma non per int64 a int. – Srikanth

+2

usa qualsiasi tipo tu voglia, ad esempio, 'np.int32' – jfs

risposta

8

@ J.F. La risposta di Sebastian:

a.astype(numpy.int32) 
Problemi correlati