NumPy array hỗ trợ nhiều kiểu dữ liệu. Sau khi tạo array, có thể thay đổi dtype bằng array.dtype (xem) và array.astype() (chuyển đổi).
1. Xem dtype hiện tại: array.dtype
import numpy as np
a = np.array([21.23, 13.1, 52.1, 8, 255])
print("Array:", a)
print("Dtype:", a.dtype) # float64
Kết quả
Array: [ 21.23 13.1 52.1 8. 255. ] Dtype: float64
2. Chuyển đổi dtype: array.astype()
Trả về array mới với dtype mong muốn (array gốc không thay đổi).
import numpy as np
a = np.array([21.23, 13.1, 52.1, 8, 255])
print("Gốc:", a, a.dtype)
# Chuyển sang int32 (cắt phần thập phân)
a_int = a.astype('int32')
print("int32:", a_int, a_int.dtype)
# Chuyển sang string
a_str = a.astype('str')
print("str:", a_str, a_str.dtype)
# Chuyển sang complex
a_cmplx = a.astype('complex64')
print("complex64:", a_cmplx, a_cmplx.dtype)
Kết quả
Gốc: [ 21.23 13.1 52.1 8. 255. ] float64 int32: [ 21 13 52 8 255] int32 str: ['21.23' '13.1' '52.1' '8.0' '255.0']Các dtype NumPy phổ biến
Kiểu Mô tả int8, int16, int32, int64 Số nguyên có dấu uint8, uint16... Số nguyên không dấu float16, float32, float64 Số thực complex64, complex128 Số phức bool Boolean object Đối tượng Python tùy ý datetime64, timedelta64 Ngày giờ Lưu ý
astype()trả về bản sao (copy), không sửa đổi in-place- Chuyển float → int: cắt phần thập phân (truncation), không làm tròn
- Dùng
np.round()trước nếu cần làm tròn