วิธีลบค่า 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 ด้วยสตริง

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *