Kiểu dữ liệu NumPy

Loại dữ liệu trong Python

Mặc định, Python có các loại dữ liệu sau:

  • strings - Dùng để biểu thị dữ liệu văn bản, văn bản được đặt trong dấu ngoặc kép. Ví dụ "ABCD".
  • integer - Dùng để biểu thị số nguyên. Ví dụ -1, -2, -3.
  • Chỉ số nguyên, hoặc bạn cũng có thể sử dụng trực tiếp loại dữ liệu, ví dụ - Dùng để biểu thị số thực. Ví dụ 1.2, 42.42.
  • boolean - Dùng để biểu thị True hoặc False.
  • complex - Dùng để biểu thị số trong mặt phẳng phức. Ví dụ 1.0 + 2.0j, 1.5 + 2.5j.

Loại dữ liệu trong NumPy

NumPy có một số loại dữ liệu bổ sung và biểu thị chúng bằng một ký tự, chẳng hạn như i biểu thị số nguyên.u biểu thị số nguyên không dấu.

Dưới đây là danh sách tất cả các loại dữ liệu trong NumPy và ký tự biểu thị chúng.

  • i - Số nguyên
  • b - Boolean
  • u - Số nguyên không dấu
  • f - Số thực
  • c - Số phức
  • m - timedelta
  • M - datetime
  • O - Đối tượng
  • S - Chuỗi
  • U - Chuỗi unicode
  • V - Khu vực nhớ cố định các loại khác (void)

Kiểm tra loại dữ liệu của mảng

Đối tượng mảng NumPy có một thuộc tính tên là dtype thuộc tính, thuộc tính này trả về loại dữ liệu của mảng:

int

Lấy loại dữ liệu của đối tượng mảng:

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
arr = np.array([1, 2, 3, 4])
print(arr.dtypebool

print(newarr.dtype)

int

Lấy loại dữ liệu của mảng chứa chuỗi:

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

print(newarr.dtype)

tạo mảng bằng loại dữ liệu đã định nghĩa

Chúng ta sử dụng array() hàm để tạo mảng, hàm này có thể sử dụng các tham số tùy chọn:dtypenó cho phép chúng ta định nghĩa loại dữ liệu mong đợi của các phần tử mảng:

int

Tạo mảng bằng chuỗi loại dữ liệu:

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
arr = np.array([1, 2, 3, 4], dtype='S'bool
print(arr)
print(arr.dtype)

print(newarr.dtype)

Đối với iufSUchúng ta cũng có thể định nghĩa kích thước.

int

Tạo mảng với loại dữ liệu là số nguyên 4 byte:

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
arr = np.array([1, 2, 3, 4], dtype='i4'bool
print(arr)
print(arr.dtype)

print(newarr.dtype)

Nếu giá trị không thể chuyển đổi thì sao?

Nếu cung cấp các phần tử không thể chuyển đổi loại, NumPy sẽ引发 ValueError.

ValueError:在 Python 中,如果传递给函数的参数的类型是非预期或错误的,则会引发 ValueError。

int

ValueError: Trong Python, nếu tham số được truyền vào hàm có loại dữ liệu không mong đợi hoặc không đúng, sẽ gây ra ValueError.

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
Không thể chuyển đổi chuỗi không phải số nguyên (ví dụ: 'a') thành số nguyên (sẽ gây ra lỗi):

print(newarr.dtype)

arr = np.array(['a', '2', '3'], dtype='i')

Chuyển đổi loại dữ liệu của mảng đã có phương pháp sao chép mảng này. Cách tốt nhất để thay đổi loại dữ liệu của mảng hiện có là sử dụng

phương pháp sao chép mảng này. astype()

function tạo bản sao của mảng và cho phép bạn chỉ định loại dữ liệu là tham số. Loại dữ liệu có thể được chỉ định bằng chuỗi, ví dụ floatChỉ số nguyên. 'f' Chỉ số nguyên, hoặc bạn cũng có thể sử dụng trực tiếp loại dữ liệu, ví dụ floatarr = np.array([1.1, 2.1, 3.1]) Chỉ số thập phân.

int

newarr = arr.astype('i') Chỉ số nguyên. Bằng cách sử dụng

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
Như tham số giá trị, chuyển đổi loại dữ liệu từ số thập phân thành số nguyên:
'i'
)
print(newarr)

print(newarr.dtype)

int

newarr = arr.astype('i') arr = np.array([1.1, 2.1, 3.1]) Bằng cách sử dụng

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
Như tham số giá trị, chuyển đổi loại dữ liệu từ số thập phân thành số nguyên:
arr = np.array([1, 0, 3])arr = np.array([1.1, 2.1, 3.1])bool
)
print(newarr)

print(newarr.dtype)

int

Mô hình

Chuyển đổi loại dữ liệu từ số nguyên thành giá trị boolean:
import numpy as np
arr = np.array([1, 0, 3])newarr = arr.astype(bool
)
print(newarr)

print(newarr.dtype)