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

Trả về sản phẩm tích lũy của các phần tử mảng trên một trục nhất định coi các NaN là một trong Python

Để trả về sản phẩm tích lũy của các phần tử mảng trên một trục nhất định coi các NaN là một, hãy sử dụng phương thức thenancumprod (). Sản phẩm tích lũy không thay đổi khi gặp các NaN và các NaN tích lũy được thay thế bằng các NaN. Một số được trả về cho các lát có toàn bộ NaN hoặc trống. Themethod trả về một mảng mới chứa kết quả được trả về trừ khi được chỉ định out, trong trường hợp đó, nó sẽ được quay lại.

Các tác phẩm tích lũy như, 5, 5 * 10, 5 * 10 * 15, 5 * 10 * 15 * 20. Tham số đầu tiên là mảng đầu vào. Tham số thứ 2 là Trục mà tích lũy được tính theo đó. Theo mặc định, đầu vào được làm phẳng. Tham số thứ 3 là kiểu của mảng được trả về, cũng như của bộ tích lũy trong đó các phần tử được nhân lên. Nếu dtype không được chỉ định, nó sẽ mặc định là dtype của a, trừ khi dtype số nguyên băm có độ chính xác nhỏ hơn độ chính xác của số nguyên nền tảng mặc định. Trong trường hợp đó, số nguyên nền tảng mặc định được sử dụng để thay thế.

Tham số thứ 4 là mảng đầu ra thay thế để đặt kết quả. Nó phải có sameshape và độ dài bộ đệm như đầu ra mong đợi nhưng loại giá trị kết quả sẽ được truyền nếu cần.

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([[5, 10, 15], [20, np.nan, 30]])

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)

Để trả về sản phẩm tích lũy của các phần tử mảng trên một trục nhất định coi các NaN là một, hãy sử dụng phương thức thenancumprod (). Sản phẩm tích lũy không thay đổi khi gặp các NaN và các NaN tích lũy được thay thế bằng các NaN -

print("\nCumulative Product of array elements...\n",np.nancumprod(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([[5, 10, 15], [20, np.nan, 30]])

# 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 return the cumulative product of array elements over a given axis treating NaNs as one, use the nancumprod() method
# The cumulative product does not change when NaNs are encountered and leading NaNs are replaced by ones.
print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 1))

Đầu ra

Our Array...
[[ 5. 10. 15.]
[20. nan 30.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Cumulative Product of array elements...
[[ 5. 50. 750.]
[ 20. 20. 600.]]