ในกิจกรรมการทำความสะอาดข้อมูล เราอาจต้องนำจำนวนเต็มที่อยู่ในรายการออกบ้าง ในบทความนี้เราจะมีอาร์เรย์ที่มีทั้ง float และ integer เราจะลบจำนวนเต็มออกจากอาร์เรย์และพิมพ์แค่ float
ด้วย astype
ฟังก์ชัน astype จะใช้เพื่อตรวจสอบว่าองค์ประกอบจากอาร์เรย์เป็นจำนวนเต็มหรือไม่ ตามนั้นเราจะตัดสินใจเก็บหรือลบองค์ประกอบออกจากอาร์เรย์และเก็บไว้ในชุดผลลัพธ์
ตัวอย่าง
import numpy as np
# เริ่มต้นอาร์เรย์
A_array = np.array([3.2, 5.5, 2.0, 4.1, 5])
print("Given array :\n ", A_array)
# เฉพาะจำนวนเต็ม
res = A_array[A_array != A_array.astype(int)]
# ผลลัพธ์
print("Array without integers:\n", res)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given array : [3.2 5.5 2. 4.1 5. ] Array without integers: [3.2 5.5 4.1]
ด้วย equal และ mod
ในวิธีนี้เราใช้ฟังก์ชัน mod กับแต่ละองค์ประกอบของอาร์เรย์และตรวจสอบว่าผลหารเป็นศูนย์หรือไม่ หากผลลัพธ์ไม่ใช่ศูนย์ จะถือว่าเป็น float และเก็บเป็นผลลัพธ์
ตัวอย่าง
import numpy as np
# เริ่มต้นอาร์เรย์
A_array = np.array([3.2, 5.5, 2.0, 4.1, 5])
print("Given array :\n ", A_array)
# เฉพาะจำนวนเต็ม
res = A_array[~np.equal(np.mod(A_array, 1), 0)]
# ผลลัพธ์
print("Array without integers:\n", res)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given array : [3.2 5.5 2. 4.1 5. ] Array without integers: [3.2 5.5 4.1]