Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tính sai phân rời rạc cấp n cho mảng nguyên không dấu trong Python


Để 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]