python-245Đọc toàn bộ đề miễn phí

Đế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 ô?

PythonCơ bản10 phút

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ủ đề

pandasmissing-dataentry-ramp

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).

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

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.

Nhóm Zalo