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

แทนที่ NaN ด้วยศูนย์และ infinity ด้วยตัวเลขจำกัดขนาดใน Python

ใช้ 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]