Computer >> Máy Tính >  >> Lập trình >> Python

Python - Lọc ra các số nguyên từ mảng float numpy

Là một phần của hoạt động làm sạch dữ liệu, đôi khi chúng tôi có thể cần lấy ra các số nguyên có trong danh sách. Trong bài viết này, chúng ta sẽ có một mảng chứa cả số thực và số nguyên. Chúng tôi sẽ xóa các số nguyên khỏi mảng và in ra các số nổi.

Với astype

Hàm astype sẽ được sử dụng để tìm xem một phần tử trong mảng có phải là số nguyên hay không. Theo đó, chúng tôi sẽ quyết định giữ hoặc xóa phần tử khỏi mảng và lưu trữ nó trong tập kết quả.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với bằng và mod

Trong cách tiếp cận này, chúng tôi áp dụng hàm mod cho từng phần tử của mảng và kiểm tra xem khi chia kết quả có bằng 0 hay không. Nếu kết quả không phải là số 0 thì nó được coi là float và được giữ nguyên như là kết quả.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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