Để tính sai phân rời rạc cấp n, dùng numpy.diff(). Sai phân cấp 1: out[i] = a[i+1] - a[i] theo trục cho trước, sai phân cao hơn dùng đệ quy. Tham số 1: mảng đầu vào. Tham số 2: n số lần sai phân (mặc định 0 - trả về mảng gốc). Tham số 3: axis trục sai phân (mặc định trục cuối). Tham số 4: giá trị thêm vào đầu/cuối mảng trước khi sai phân.
Lưu ý: với mảng nguyên không dấu (unsigned), kết quả cũng là nguyên không dấu, do đó 0 - 1 = 255 (cho uint8).
Các bước thực hiện
Nhập NumPy:
import numpy as np
Tạo mảng uint8:
arr = np.array([1, 0], dtype=np.uint8)
Hiển thị mảng:
print("Mảng của chúng ta...\n", arr)
Kiểm tra số chiều:
print("\nSố chiều của mảng...\n", arr.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
Tính sai phân cấp 1:
print("\nSai phân rời rạc..\n", np.diff(arr))
Ví dụ hoàn chỉnh
import numpy as np
arr = np.array([1, 0], dtype=np.uint8)
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nSai phân rời rạc..\n", np.diff(arr))
Kết quả đầu ra
Mảng của chúng ta...
[1 0]
Số chiều của mảng...
1
Kiểu dữ liệu của đối tượng mảng...
uint8
Sai phân rời rạc..
[255]