วิธีลบค่า nan ออกจากอาร์เรย์ numpy (3 วิธี)
คุณสามารถใช้วิธีการต่อไปนี้เพื่อลบค่า NaN ออกจากอาร์เรย์ NumPy:
วิธีที่ 1: ใช้ isnan()
new_data = data[~np. isnan (data)]
วิธีที่ 2: ใช้ isfinite()
new_data = data[np. isfinite (data)]
วิธีที่ 3: ใช้ logic_not()
new_data = data[np. logical_not (np. isnan (data))]
แต่ละวิธีเหล่านี้ให้ผลลัพธ์เหมือนกัน แต่วิธีแรกเป็นวิธีการป้อนที่สั้นที่สุด ดังนั้นจึงมีแนวโน้มที่จะใช้บ่อยที่สุด
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ลบค่า NaN โดยใช้ isnan()
รหัสต่อไปนี้แสดงวิธีลบค่า NaN ออกจากอาร์เรย์ NumPy โดยใช้ฟังก์ชัน isnan() :
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[~np. isnan (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
โปรดทราบว่าค่า NaN ทั้งสองถูกลบออกจากอาร์เรย์ NumPy เรียบร้อยแล้ว
วิธีนี้จะเก็บองค์ประกอบอาร์เรย์ทั้งหมดที่ไม่ใช่ค่า (~)NaN
ตัวอย่างที่ 2: ลบค่า NaN โดยใช้ isfinite()
รหัสต่อไปนี้แสดงวิธีลบค่า NaN ออกจากอาร์เรย์ NumPy โดยใช้ฟังก์ชัน isfinite()
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. isfinite (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
โปรดทราบว่าค่า NaN ทั้งสองถูกลบออกจากอาร์เรย์ NumPy เรียบร้อยแล้ว
วิธีนี้จะเก็บองค์ประกอบอาร์เรย์ทั้งหมดที่เป็นค่าจำกัดไว้
เนื่องจากค่า NaN ไม่จำกัด จึงถูกลบออกจากตาราง
ตัวอย่างที่ 3: ลบค่า NaN โดยใช้ logic_not()
รหัสต่อไปนี้แสดงวิธีลบค่า NaN ออกจากอาร์เรย์ NumPy โดยใช้ฟังก์ชัน logic_not() :
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
โปรดทราบว่าค่า NaN ทั้งสองถูกลบออกจากอาร์เรย์ NumPy เรียบร้อยแล้ว
แม้ว่าวิธีนี้จะเทียบเท่ากับสองวิธีก่อนหน้านี้ แต่ต้องใช้การพิมพ์มากกว่านี้ ดังนั้นจึงไม่ได้ใช้บ่อยนัก
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน Python:
Pandas: วิธีแทนที่สตริงว่างด้วย NaN
Pandas: วิธีแทนที่ค่า NaN ด้วยสตริง