Giá trị thiếu
Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 45 trên 60.
Dữ liệu thực tế có những chỗ thiếu: cảm biến bị hỏng, một bài trắc nghiệm bị bỏ lỡ. pandas đánh dấu mỗi ô trống là NaN, nghĩa là “không phải số”:
Hầu hết các mô hình không chấp nhận NaN, vì vậy hãy đếm các ô trống trước. .isna() đánh dấu từng ô là True, còn .sum() đếm chúng:
scores = pd.DataFrame({
"name": ["Ana", "Ben", "Cy", "Dee"],
"quiz1": [8, np.nan, 7, 9], # np.nan là một giá trị còn thiếu
"quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())Kết quả in ra:
name 0
quiz1 1
quiz2 2
dtype: int64Sau đó, hãy chọn: dropna() xóa mọi hàng có ô trống; fillna(0) ghi 0 vào từng ô. Cả hai đều trả về một bảng mới, vì vậy hãy lưu bảng đó.
Thống kê bỏ qua NaN: giá trị trung bình của quiz1 là 8.0, tính từ ba điểm đã biết.
Thử thách
Trung bìnhMột thiết bị theo dõi thể dục đã bỏ lỡ một số chỉ số trong tracker.csv. Trước khi tập luyện, hãy xem mỗi cách xử lý các khoảng trống làm thay đổi giá trị trung bình của sleep như thế nào. Mã khởi đầu đọc hours, một giá trị dùng để điền vào.
- In ra số khoảng trống trong mỗi cột.
- In ra giá trị trung bình của giấc ngủ, làm tròn đến 2 chữ số thập phân, theo ba cách: bỏ qua các khoảng trống, chỉ tính những ngày không có khoảng trống ở bất kỳ cột nào và điền
hoursvào các khoảng trống.
Với một thiết bị theo dõi khác và 8:
day 0
steps 1
sleep 2
water 0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21Tự làm thử
import pandas as pd
tracker = pd.read_csv("tracker.csv")
hours = float(input())
# Viết code bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Dữ liệu và biểu đồ
5Biểu đồ đường và biểu đồ phân tán
Nhãn và tiêu đềBiểu đồ phân tánNhiều đường và chú giảiMàu sắc và dấu đánh dấuHình và trụcÔn tập: Số bước mỗi tuần11Bộ dữ liệu dành cho ML
Bộ dữ liệu có sẵnĐặc trưng và nhãnKhám phá theo lớpVẽ biểu đồ các lớpÔn tập: bộ dữ liệu Wine3Phép toán với mảng
Phép toán trên toàn bộ mảngThống kê tổng hợpThống kê theo trụcPhép broadcastingMặt nạ BooleanÔn tập: Điểm thi6Biểu đồ dữ liệu
Biểu đồ cộtBiểu đồ tần suấtNhiều biểu đồ trong một hìnhHình ảnh dưới dạng mảngÔn tập: Báo cáo lượng mưa9Nhóm và làm sạch dữ liệu
Đếm giá trịNhóm dữ liệuNhiều phép tổng hợpGiá trị thiếuÔn tập: Kết quả khảo sát12Thử thách cuối cùng
Báo cáo doanh sốSố liệu cảm biếnCác chữ số trong nháy mắtNhà thám hiểm chim cánh cụtTự luyện tập: Trình biên dịch Python online