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 trên trục 0 trong Python


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