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

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


ภาพรวม

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

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

  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. คำนวณผลคูณสะสมแกน 1
    print("\nผลคูณสะสมของสมาชิกอาร์เรย์...\n", np.nancumprod(arr, axis=1))
    

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

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

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

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