Numpy là một thư viện toán học phổ biến và mạnh mẽ của Python. Nó cung cấp các hàm để tạo và thao tác với các mảng.
Trong thực tế, dữ liệu thường bị thiếu hoặc có giá trị sai. Điều này có thể xảy ra do nhiều lý do, chẳng hạn như lỗi nhập liệu, lỗi thiết bị hoặc lỗi đo lường.
Numpy cung cấp các hàm để xử lý dữ liệu thiếu. Các hàm này có thể được sử dụng để bỏ qua hoặc thay thế các giá trị thiếu.
Các giá trị NaN, Inf, NINF
Numpy sử dụng các giá trị đặc biệt để đại diện cho dữ liệu thiếu. Các giá trị này là:
- NaN: Giá trị không phải số (Not a Number).
- Inf: Giá trị vô cùng lớn (Infinity).
- NINF: Giá trị vô cùng nhỏ (Negative Infinity).
Các giá trị này có thể được tạo ra bởi các hàm Numpy, chẳng hạn như np.nan và np.inf.
Cách xác định và xử lý giá trị thiếu
Để xác định các giá trị thiếu trong một mảng Numpy, bạn có thể sử dụng hàm isnan() hoặc isinf().
Ví dụ: để xác định các giá trị thiếu trong mảng arr, bạn có thể sử dụng mã sau:
import numpy as np arr = np.array([1, 2, np.nan, 4, 5]) # Xác định các giá trị thiếu is_missing = np.isnan(arr) # In ra các giá trị thiếu print(is_missing) Đầu ra: [False False True False False]
Sau khi xác định các giá trị thiếu, bạn có thể xử lý chúng bằng cách bỏ qua hoặc thay thế chúng.
Bỏ qua giá trị thiếu
Để bỏ qua các giá trị thiếu, bạn có thể sử dụng hàm np.nanmean() hoặc np.nansum().
Ví dụ: để tính trung bình của mảng arr, bỏ qua các giá trị thiếu, bạn có thể sử dụng mã sau:
import numpy as np arr = np.array([1, 2, np.nan, 4, 5]) # Tính trung bình, bỏ qua giá trị thiếu mean = np.nanmean(arr) # In ra trung bình print(mean) Đầu ra: 3.0
Thay thế giá trị thiếu
Để thay thế các giá trị thiếu bằng một giá trị khác, bạn có thể sử dụng hàm np.where().
Ví dụ: để thay thế các giá trị thiếu trong mảng arr bằng giá trị 0, bạn có thể sử dụng mã sau:
import numpy as np arr = np.array([1, 2, np.nan, 4, 5]) # Thay thế giá trị thiếu bằng 0 arr[np.isnan(arr)] = 0 # In ra mảng print(arr) Đầu ra: [1 2 0 4 5]
Các phương pháp khác
Ngoài việc bỏ qua hoặc thay thế giá trị thiếu, bạn có thể sử dụng các phương pháp khác để xử lý dữ liệu thiếu. Một số phương pháp phổ biến bao gồm:
- Trung bình: Thay thế các giá trị thiếu bằng giá trị trung bình của các giá trị không thiếu.
- Phương sai: Thay thế các giá trị thiếu bằng giá trị trung bình của các giá trị không thiếu, sau đó điều chỉnh cho độ lệch chuẩn của các giá trị không thiếu.
- Tính trung bình theo nhóm: Thay thế các giá trị thiếu bằng giá trị trung bình của các giá trị không thiếu trong cùng một nhóm.
Cách chọn phương pháp xử lý dữ liệu thiếu phụ thuộc vào dữ liệu của bạn và mục đích của bạn.
Kết luận
Xử lý dữ liệu thiếu là một vấn đề quan trọng trong phân tích dữ liệu. Numpy cung cấp các hàm để xử lý dữ liệu thiếu bằng cách bỏ qua hoặc thay thế các giá trị thiếu.
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: