ใช้ numpy.nan_to_num() เพื่อแทนที่ NaN ด้วย 0.0 และ infinity ด้วยตัวเลขจำกัดขนาดใหญ่ (ค่าเริ่มต้น) พารามิเตอร์ copy ควบคุมการสร้างสำเนา (True) หรือแทนที่ในที่เดิม (False)
ขั้นตอนการใช้งาน
import numpy as np
สร้างอาร์เรย์ทดสอบ
arr = np.array([np.inf, -np.inf, np.nan, -128, 128])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nShape of our Array object...\n", arr.shape)
แทนที่ค่า non-finite แบบเริ่มต้น
print("\nResult...\n", np.nan_to_num(arr))
โค้ดตัวอย่างสมบูรณ์
import numpy as np
arr = np.array([np.inf, -np.inf, np.nan, -128, 128])
print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nShape of our Array object...\n", arr.shape)
print("\nResult...\n", np.nan_to_num(arr))
ผลลัพธ์ที่คาดหวัง
Our Array... [ inf -inf nan -128. 128.] Dimensions of our Array... 1 Datatype of our Array object... float64 Shape of our Array object... (5,) Result... [ 1.79769313e+308 -1.79769313e+308 0.00000000e+000 -1.28000000e+002 1.28000000e+002]