Để tính sai phân rời rạc cấp n, sử dụng numpy.diff(). Sai phân cấp nhất: out[i] = a[i+1] - a[i] theo trục cho trước, các cấp cao hơn dùng diff đệ quy. Trả về sai phân cấp n. Shape đầu ra giống a trừ trục bị giảm n. Kiểu đầu ra giống kiểu hiệu giữa hai phần tử bất kỳ. Ngoại lệ: datetime64 cho timedelta64.
Tham số: mảng đầu vào, n (số lần sai phân, mặc định 1), axis (trục, mặc định trục cuối), prepend/append (giá trị thêm trước/sau theo trục).
Các bước
Nhập thư viện:
import numpy as np
Tạo mảng có chứa nan:
arr = np.array([[10, 15, 30, 65], [80, 87, np.nan, 120]])
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 mảng...\n", arr.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu đối tượng mảng...\n", arr.dtype)
Tính sai phân rời rạc trên trục 0:
print("\nSai phân rời rạc..\n", np.diff(arr, axis=0))
Ví dụ hoàn chỉnh
import numpy as np
arr = np.array([[10, 15, 30, 65], [80, 87, np.nan, 120]])
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều mảng...\n", arr.ndim)
print("\nKiểu dữ liệu đối tượng mảng...\n", arr.dtype)
print("\nSai phân rời rạc..\n", np.diff(arr, axis=0))
Kết quả
Mảng của chúng ta... [[ 10. 15. 30. 65.] [ 80. 87. nan 120.]] Số chiều mảng... 2 Kiểu dữ liệu đối tượng mảng... float64 Sai phân rời rạc.. [[70. 72. nan 55.]]