Đếm phần tử vượt trung bình cột bằng mặt nạ boolean
Bảng điểm, bảng doanh số hay bảng log đều có chung một câu hỏi: mỗi cột có bao nhiêu giá
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, numpy-axis-reduction.
Nội dung đề bài
Mô tả bài toán
Bảng điểm, bảng doanh số hay bảng log đều có chung một câu hỏi: mỗi cột có bao nhiêu giá trị nằm trên mức trung bình của chính cột đó? Broadcasting của NumPy trả lời câu hỏi này mà không cần tới hai vòng lặp lồng nhau.
Yêu cầu
Viết hàm above_column_mean(matrix) nhận một mảng NumPy hai chiều và trả về danh sách số nguyên, phần tử thứ j là số lượng giá trị trong cột j lớn hơn trung bình cộng của cột j.
Quy ước nộp bài
Nộp hàm above_column_mean trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị trả về; không đọc dữ liệu từ stdin và không in ra stdout.
Input
- matrix: np.ndarray hai chiều (hệ thống tự chuyển từ danh sách lồng nhau), mọi hàng
cùng số cột, phần tử là số.
Output
Danh sách số nguyên gồm matrix.shape[1] phần tử, đếm theo đúng thứ tự cột.
Ràng buộc
- Số hàng và số cột nằm trong khoảng 1 đến 50.
- So sánh là nghiêm ngặt: giá trị đúng bằng trung bình cột không được tính.
- Không dùng vòng lặp Python duyệt từng cột.
Ví dụ 1
Input
above_column_mean(matrix=[[1, 10], [3, 20], [5, 30]], __as_numpy__=["matrix"])
Output
[1, 1]
Ví dụ 2
Input
above_column_mean(matrix=[[1, 2], [3, 4]], __as_numpy__=["matrix"])
Output
[1, 1]
Giải thích
Với matrix = [[1, 10], [3, 20], [5, 30]], cột đầu có trung bình 3 và chỉ 5 lớn hơn 3; cột sau có trung bình 20 và chỉ 30 lớn hơn 20. Kết quả là [1, 1].
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.
