Computer >> Máy Tính >  >> Lập trình >> Python

Tính toán sự khác biệt rời rạc thứ n trên trục 1 trong Python

Để tính toán sự khác biệt rời rạc thứ n, hãy sử dụng phương thức numpy.diff (). Sự khác biệt đầu tiên được đưa ra bởi [i] =a [i + 1] - a [i] dọc theo trục đã cho, sự khác biệt cao hơn được tính bằng cách sử dụng đệ quy diff. Phương thức diff () trả về sự khác biệt thứ n. Hình dạng của đầu ra giống như a ngoại trừ dọc trục trong đó kích thước nhỏ hơn n. Kiểu của đầu ra giống với kiểu của sự khác biệt giữa hai phần tử bất kỳ của a. Điều này giống với kiểu a trong hầu hết các trường hợp. Một ngoại lệ đáng chú ý là datetime64, dẫn đến một mảng đầu ra theo thời gianelta64.

Tham số đầu tiên là mảng đầu vào. Tham số thứ 2 là n, tức là số lần các giá trị bị chênh lệch. Nếu không, giá trị đầu vào được trả về nguyên trạng. Tham số thứ 3 là trục mà sự khác biệt được lấy, mặc định là trục cuối cùng. Tham số thứ 4 là các giá trị để thêm vào trước hoặc thêm vào mảng đầu vào dọc theo trục trước khi thực hiện sự khác biệt. Giá trị vô hướng được mở rộng thành mảng có độ dài 1 theo hướng trục và hình dạng của mảng đầu vào theo tất cả các trục khác.

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import numpy as np

Tạo một mảng numpy bằng phương thức array (). Chúng tôi đã thêm các phần tử kiểu int với nan -

arr = np.array([[10, 15, 30, 65], [80, 87, np.nan, 120]])

Hiển thị mảng -

print("Our Array...\n",arr)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",arr.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",arr.dtype)

Để tính toán sự khác biệt rời rạc thứ n, hãy sử dụng phương thức numpy.diff (). Sự khác biệt đầu tiên được đưa ra bởi [i] =a [i + 1] - a [i] dọc theo trục đã cho, sự khác biệt cao hơn được tính bằng cách sử dụng đệ quy diff -

print("\nDiscrete difference..\n",np.diff(arr, axis = 1))

Ví dụ

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of int type with nan
arr = np.array([[10, 15, 30, 65], [80, 87, np.nan, 120]])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# To calculate the n-th discrete difference, use the numpy.diff() method
# The first difference is given by out[i] = a[i+1] - a[i] along the given axis, higher differences are calculated by using diff recursively.
print("\nDiscrete difference..\n",np.diff(arr, axis = 1))

Đầu ra

Our Array...
[[ 10. 15. 30. 65.]
[ 80. 87. nan 120.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Discrete difference..
[[ 5. 15. 35.]
[ 7. nan nan]]