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

Python - กรองจำนวนเต็มออกจาก float numpy array


ในส่วนหนึ่งของกิจกรรมการล้างข้อมูล บางครั้งเราอาจจำเป็นต้องนำจำนวนเต็มที่มีอยู่ในรายการออก ในบทความนี้เราจะมีอาร์เรย์ที่มีทั้งทศนิยมและจำนวนเต็ม เราจะลบจำนวนเต็มออกจากอาร์เรย์และพิมพ์ทุ่น

ด้วย astype

ฟังก์ชัน astype จะใช้เพื่อค้นหาว่าองค์ประกอบจากอาร์เรย์เป็นจำนวนเต็มหรือไม่ ดังนั้นเราจะตัดสินใจเก็บหรือลบองค์ประกอบออกจากอาร์เรย์และเก็บไว้ในชุดผลลัพธ์

ตัวอย่าง

import numpy as np

# initialising array
A_array = np.array([3.2, 5.5, 2.0, 4.1,5])

print("Given array :\n ", A_array)

# Only integers
res = A_array[A_array != A_array.astype(int)]

# result
print("Array without integers:\n", res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given array :
   [3.2 5.5 2. 4.1 5. ]
Array without integers:
   [3.2 5.5 4.1]

มีค่าเท่ากันและ mod

ในแนวทางนี้ เราใช้ฟังก์ชัน mod กับแต่ละองค์ประกอบของอาร์เรย์ และตรวจสอบว่าเมื่อหารผลลัพธ์เป็นศูนย์หรือไม่ หากผลลัพธ์ไม่เป็นศูนย์ จะถือว่าลอยตัวและเก็บผลลัพธ์ไว้

ตัวอย่าง

import numpy as np

# initialising array
A_array = np.array([3.2, 5.5, 2.0, 4.1,5])

print("Given array :\n ", A_array)

# Only integers
res = A_array[~np.equal(np.mod(A_array, 1), 0)]

# result
print("Array without integers:\n", res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given array :
   [3.2 5.5 2. 4.1 5. ]
Array without integers:
   [3.2 5.5 4.1]