ภาพรวม
ใช้ numpy.nancumprod() เพื่อหาผลคูณสะสมของสมาชิกอาร์เรย์ตามแกนที่กำหนด โดยถือ NaN เป็น 1 ผลคูณสะสมไม่เปลี่ยนเมื่อเจอ NaN และ NaN นำหน้าจะถูกแทนที่ด้วย 1
พารามิเตอร์
- a: อาร์เรย์อินพุต
- axis: แกนที่คำนวณผลคูณสะสม (ค่าเริ่มต้น: flatten)
- dtype: ชนิดข้อมูลของอาร์เรย์ผลลัพธ์และตัวสะสม
- out: อาร์เรย์ทางเลือกสำหรับเก็บผลลัพธ์
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np - สร้างอาร์เรย์ที่มี NaN
arr = np.array([[5, 10, 15], [20, np.nan, 30]]) - ตรวจสอบคุณสมบัติ
print("อาร์เรย์ของเรา...\n", arr) print("\nมิติ...\n", arr.ndim) print("\nชนิดข้อมูล...\n", arr.dtype) - คำนวณผลคูณสะสมแกน 1 พร้อม dtype=int
print("\nผลคูณสะสมของสมาชิกอาร์เรย์...\n", np.nancumprod(arr, axis=1, dtype=int))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
arr = np.array([[5, 10, 15], [20, np.nan, 30]])
print("อาร์เรย์ของเรา...\n", arr)
print("\nมิติของอาร์เรย์...\n", arr.ndim)
print("\nชนิดข้อมูลของอาร์เรย์...\n", arr.dtype)
print("\nผลคูณสะสมของสมาชิกอาร์เรย์...\n", np.nancumprod(arr, axis=1, dtype=int))
ผลลัพธ์ที่คาดหวัง
อาร์เรย์ของเรา...
[[ 5. 10. 15.]
[20. nan 30.]]
มิติของอาร์เรย์...
2
ชนิดข้อมูลของอาร์เรย์...
float64
ผลคูณสะสมของสมาชิกอาร์เรย์...
[[ 5 50 750]
[ 20 20 600]]