2012-09-28 9 views
5

Ich bin etwas Neues zu Python und ich bin mit Python-Module in einem anderen Programm (ABAQUS). Die Frage ist jedoch vollständig pythonbezogen.Python: ein Array numpy Datentypen aus int64 Umwandlung in int

Im Programm benötige ich ein Array von ganzen Zahlen zu erstellen. Dieses Array wird später als Eingabe in einer in ABAQUS definierten Funktion verwendet. Das Problem hat mit dem Datentyp der Ganzzahlen zu tun. Im Array haben die Ganzzahlen den Datentyp 'int64'. Allerdings habe ich immer die folgende Fehlermeldung, wenn I-Eingang das Array auf die gewünschte Funktion:

„Nur INT, FLOAT und DOUBLE durch die ABAQUS-Schnittstelle unterstützt (Verwendung Multiarray mit Typcode int wenn Standard lang ist 64 Bit)“

Ich brauche keine Hilfe mit ABAQUS. Wenn ich den Datentyp in Python in 'int' umwandle, würde das ausreichen. Ich dachte, dass ich einfach die int() -Funktion verwenden könnte, um den Datentyp zu konvertieren. Das hat nicht funktioniert. Irgendwelche Vorschläge werden sehr geschätzt. Danke euch allen.

+5

'a.astype (int)' – jfs

+0

@Sebastian: Es bleibt immer noch den Datentyp als int64. Es funktioniert, um den Datentyp von int in Float zu ändern. Aber nicht für int64 zu int. – Srikanth

+2

Verwenden Sie einen beliebigen Typ, z. B. 'np.int32' – jfs

Antwort

8

@ J. F. Sebastian Antwort:

a.astype(numpy.int32)