Các kiểu dữ liệu NumPy
Các kiểu dữ liệu trong Python
Theo mặc định, Python có các kiểu dữ liệu sau:
strings
- được sử dụng để biểu diễn dữ liệu văn bản, văn bản được cho dưới dấu ngoặc kép. ví dụ: "ABCD"integer
- dùng để biểu diễn các số nguyên. ví dụ -1, -2, -3float
- dùng để biểu diễn các số thực. ví dụ: 1.2, 42.42boolean
- được sử dụng để biểu thị Đúng hoặc Sai.complex
- dùng để biểu diễn số phức. ví dụ: 1.0 + 2.0j, 1.5 + 2.5j
Các kiểu dữ liệu trong NumPy
NumPy có một số kiểu dữ liệu bổ sung và tham chiếu đến các kiểu dữ liệu có một ký tự, như i
đối với số nguyên, u
đối với số nguyên không dấu, v.v.
Dưới đây là danh sách tất cả các kiểu dữ liệu trong NumPy và các ký tự được sử dụng để đại diện cho chúng.
i
- số nguyênb
- booleanu
- số nguyên không dấuf
- trôi nổic
- phao phức tạpm
- hẹn giờM
- ngày giờO
- sự vậtS
- chuỗiU
- chuỗi unicodeV
- cố định phần bộ nhớ cho loại khác (void)
Kiểm tra kiểu dữ liệu của một mảng
Đối tượng mảng NumPy có một thuộc tính được gọi là dtype
trả về kiểu dữ liệu của mảng:
Thí dụ
Nhận kiểu dữ liệu của một đối tượng mảng:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
Thí dụ
Nhận kiểu dữ liệu của một mảng chứa các chuỗi:
import numpy as np
arr = np.array(['apple',
'banana', 'cherry'])
print(arr.dtype)
Tạo mảng với kiểu dữ liệu xác định
Chúng ta sử dụng array()
hàm để tạo mảng, hàm này có thể nhận một đối số tùy chọn: dtype
cho phép chúng ta xác định kiểu dữ liệu mong đợi của các phần tử mảng:
Thí dụ
Tạo một mảng với chuỗi kiểu dữ liệu:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='S')
print(arr)
print(arr.dtype)
Đối với , i
và chúng
tôi cũng có thể xác định kích thước.u
f
S
U
Thí dụ
Tạo một mảng với kiểu dữ liệu số nguyên 4 byte:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='i4')
print(arr)
print(arr.dtype)
Điều gì sẽ xảy ra nếu một giá trị không thể được chuyển đổi?
Nếu một kiểu được cung cấp trong đó các phần tử không thể được ép kiểu thì NumPy sẽ tạo ra một ValueError.
ValueError: Trong Python, ValueError được nâng lên khi loại đối số được truyền vào một hàm không mong muốn / không chính xác.
Thí dụ
Một chuỗi không phải số nguyên như 'a' không thể được chuyển đổi thành số nguyên (sẽ gây ra lỗi):
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
Chuyển đổi kiểu dữ liệu trên mảng hiện có
Cách tốt nhất để thay đổi kiểu dữ liệu của một mảng hiện có là tạo một bản sao của mảng bằng astype()
phương thức.
Hàm astype()
tạo một bản sao của mảng và cho phép bạn chỉ định kiểu dữ liệu làm tham số.
Kiểu dữ liệu có thể được chỉ định bằng cách sử dụng một chuỗi, như 'f'
đối với float,
'i'
đối với số nguyên, v.v. hoặc bạn có thể sử dụng trực tiếp kiểu dữ liệu như
float
đối với float và int
đối với số nguyên.
Thí dụ
Thay đổi kiểu dữ liệu từ float thành integer bằng cách sử dụng 'i'
làm giá trị tham số:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
Thí dụ
Thay đổi kiểu dữ liệu từ float thành integer bằng cách sử dụng int
làm giá trị tham số:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)
Thí dụ
Thay đổi kiểu dữ liệu từ số nguyên thành boolean:
import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)