Đếm giá trị thiếu của từng cột
Bước đầu tiên của mọi lần làm sạch dữ liệu là trả lời câu hỏi: cột nào thiếu bao nhiêu ô?
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, pandas-dataframe-intro.
Nội dung đề bài
Mô tả bài toán
Bước đầu tiên của mọi lần làm sạch dữ liệu là trả lời câu hỏi: cột nào thiếu bao nhiêu ô? Với bảng dựng từ danh sách dict, một ô được coi là thiếu khi dict đó không có khoá ấy, hoặc có khoá nhưng giá trị là None. pandas đánh dấu những ô đó bằng isna().
Yêu cầu
Viết hàm missing_counts(rows) nhận danh sách dict và trả về một dict ánh xạ tên cột sang số ô thiếu của cột đó.
Quy ước nộp bài
Nộp hàm missing_counts trong solution.py. Hệ thống gọi hàm trực tiếp và so từng cặp khoá/giá trị với kỳ vọng; không đọc dữ liệu từ stdin và không in ra stdout.
Input
- rows: danh sách dict, các dict có thể không cùng tập khoá; từ 1 đến 200 dòng. Giá trị
của một khoá có thể là số, chuỗi hoặc None.
Output
Dict với một mục cho mỗi cột xuất hiện trong dữ liệu, giá trị là số ô thiếu (số nguyên, có thể là 0). Thứ tự khoá trong dict không quan trọng.
Ràng buộc
- Khoá vắng mặt trong một dict cũng được tính là ô thiếu.
- Chuỗi rỗng "" và số 0 không phải là ô thiếu.
- Giá trị trả về là dict thường của Python, không phải Series.
Ví dụ 1
Input
missing_counts(rows=[{"name": "An", "age": 20}, {"name": "Binh", "age": null}, {"name": "Chi"}])
Output
{"name": 0, "age": 2}
Ví dụ 2
Input
missing_counts(rows=[{"a": 1, "b": 2}, {"a": 3, "b": 4}])
Output
{"a": 0, "b": 0}
Giải thích
Với rows = [{"name": "An", "age": 20}, {"name": "Binh", "age": None}, {"name": "Chi"}] thì kết quả là {"name": 0, "age": 2}. Cột name đủ ở cả ba dòng; cột age thiếu ở dòng thứ hai (giá trị None) và dòng thứ ba (không có khoá age).
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
