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 0 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 out [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 theo trục, trong đó kích thước nhỏ hơn n. Kiểu của đầu ra giống như 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ị sai 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 trước hoặc nối 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 các mảng có độ dài 1 theo hướng trục và hình dạng của mảng đầu vào dọc theo tất cả các trục khác.

Các bước

Đầu tiên, hãy nhập 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 = 0))

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
print("\nDiscrete difference..\n",np.diff(arr, axis = 0))

Đầ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..
[[70. 72. nan 55.]]