Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การหาผลคูณสะสมของสมาชิกอาร์เรย์ตามแกน 0 ถือ NaN เป็น 1 ใน Python


ภาพรวม

ใช้ numpy.nancumprod() เพื่อหาผลคูณสะสมตามแกน 0 (แนวตั้ง) โดยถือ NaN เป็น 1

ขั้นตอนการทำงาน

  1. นำเข้าไลบรารี
    import numpy as np
    
  2. สร้างอาร์เรย์ที่มี NaN
    arr = np.array([[5, 10, 15], [20, np.nan, 30]])
    
  3. ตรวจสอบคุณสมบัติ
    print("อาร์เรย์ของเรา...\n", arr)
    print("\nมิติ...\n", arr.ndim)
    print("\nชนิดข้อมูล...\n", arr.dtype)
    
  4. คำนวณผลคูณสะสมแกน 0
    print("\nผลคูณสะสมของสมาชิกอาร์เรย์...\n", np.nancumprod(arr, axis=0))
    

ตัวอย่างโค้ดสมบูรณ์

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=0))

ผลลัพธ์ที่คาดหวัง

อาร์เรย์ของเรา...
 [[ 5. 10. 15.]
 [20. nan 30.]]
มิติของอาร์เรย์...
 2
ชนิดข้อมูลของอาร์เรย์...
 float64
ผลคูณสะสมของสมาชิกอาร์เรย์...
 [[  5.  10.  15.]
 [100.  10. 450.]]