Để trả về tổng tích lũy của các phần tử mảng trên một trục cho trước, coi các giá trị NaN như 0, sử dụng phương thức numpy.nancumsum(). Tổng tích lũy không thay đổi khi gặp NaN và các NaN đầu tiên được thay bằng 0. Trả về 0 cho các lát cắt toàn NaN hoặc rỗng. Phương thức trả về mảng mới trừ khi chỉ định out.
Tham số 1: mảng đầu vào. Tham số 2: trục tính tổng tích lũy (mặc định None - làm phẳng mảng). Tham số 3: kiểu dữ liệu của mảng kết quả và bộ tích lũy. Tham số 4: mảng đầu ra thay thế.
Các bước thực hiện
Nhập NumPy:
import numpy as np
Tạo mảng 2D có chứa NaN:
arr = np.array([[10, 20, 30], [40, np.nan, 60]])
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 của mảng...\n", arr.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
Tính tổng tích lũy theo trục 1 (hàng), coi NaN như 0:
print("\nTổng tích lũy các phần tử mảng...\n", np.nancumsum(arr, axis=1))
Ví dụ hoàn chỉnh
import numpy as np
arr = np.array([[10, 20, 30], [40, np.nan, 60]])
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nTổng tích lũy các phần tử mảng...\n", np.nancumsum(arr, axis=1))
Kết quả đầu ra
Mảng của chúng ta...
[[10. 20. 30.]
[40. nan 60.]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
float64
Tổng tích lũy các phần tử mảng...
[[ 10. 30. 60.]
[ 40. 40. 100.]]