เพื่อคำนวณผลรวมสะสม (cumulative sum) ขององค์ประกอบอาร์เรย์ตามแกนที่กำหนด โดยถือค่า NaN ว่าเป็นศูนย์ ให้ใช้เมธอด numpy.nancumsum() ผลรวมสะสมจะไม่เปลี่ยนแปลงเมื่อเจอ NaN และ NaN นำหน้าจะถูกแทนที่ด้วยศูนย์ สไลด์ที่เป็น NaN ทั้งหมดหรือว่างเปล่าจะคืนค่าศูนย์
พารามิเตอร์สำคัญ
- a (พารามิเตอร์แรก): อาร์เรย์อินพุต
- axis (พารามิเตอร์ที่สอง): แกนที่คำนวณผลรวมสะสม ค่าเริ่มต้น None คือคำนวณบนอาร์เรย์แบน (flattened)
- dtype (พารามิเตอร์ที่สาม): ชนิดข้อมูลของอาร์เรย์ผลลัพธ์และตัวสะสม หากไม่ระบุ จะใช้ dtype ของ a
- out (พารามิเตอร์ที่สี่): อาร์เรย์เอาต์พุททางเลือก ต้องมีรูปร่างและความยาวบัฟเฟอร์เหมือนกัน
ขั้นตอนการใช้งาน
import numpy as np
สร้างอาร์เรย์พร้อมค่า NaN
arr = np.array([10, 20, 30, 40, np.nan])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
คำนวณผลรวมสะสมโดยละเว้น NaN
print("\nCumulative Sum of array elements...\n", np.nancumsum(arr))
โค้ดตัวอย่างสมบูรณ์
import numpy as np
arr = np.array([10, 20, 30, 40, np.nan])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nCumulative Sum of array elements...\n", np.nancumsum(arr))
ผลลัพธ์ที่คาดหวัง
Our Array... [10. 20. 30. 40. nan] Dimensions of our Array... 1 Datatype of our Array object... float64 Cumulative Sum of array elements... [ 10. 30. 60. 100. 100.]