2012-09-28 44 views
5

Tôi hơi mới với python và tôi đang sử dụng mô-đun python trong chương trình khác (ABAQUS). Câu hỏi, tuy nhiên, là hoàn toàn python liên quan.python: chuyển đổi kiểu dữ liệu mảng numpy từ int64 thành int

Trong chương trình, tôi cần phải tạo một mảng các số nguyên. Mảng này sau này sẽ được sử dụng làm đầu vào trong một hàm được xác định trong ABAQUS. Vấn đề là làm với kiểu dữ liệu của các số nguyên. Trong mảng, các số nguyên có kiểu dữ liệu 'int64'. Tuy nhiên, tôi nhận được lỗi sau khi tôi nhập mảng vào hàm mong muốn:

"Chỉ INT, FLOAT và DOUBLE được hỗ trợ bởi giao diện ABAQUS (sử dụng multiarray với typecode int nếu standard dài là 64 bit)"

Tôi không cần hỗ trợ với ABAQUS. Nếu tôi chuyển đổi kiểu dữ liệu thành 'int' trong python, điều đó sẽ đủ. Tôi nghĩ rằng tôi chỉ có thể sử dụng hàm int() để chuyển đổi kiểu dữ liệu. Điều này đã không hoạt động. Mọi đề xuất sẽ được đánh giá cao. Cảm ơn tất cả.

+5

'a.astype (int)' – jfs

+0

@Sebastian: Vẫn còn loại dữ liệu là int64. Nó hoạt động để thay đổi kiểu dữ liệu từ int sang float. Nhưng không cho int64 để int. – Srikanth

+2

sử dụng bất kỳ loại nào bạn muốn, ví dụ: 'np.int32' – jfs

Trả lời

8

@ J.F. Câu trả lời của Sebastian:

a.astype(numpy.int32) 
Các vấn đề liên quan