Chuyển đổi dữ liệu
Thuộc phần Logic và luồng chương trình trong hành trình Python của Coddy. Bài học 78 trên 78.
Thử thách
KhóTạo một hàm có tên transform_dataset để xử lý danh sách hồ sơ học sinh nhằm phân tích.
Mỗi hồ sơ là một từ điển gồm:
student_id: Mã định danh duy nhất của học sinhgrades: Danh sách điểm sốsubjects: Danh sách các môn học mà học sinh đang theo học
Hàm của bạn cần:
- Tính điểm trung bình của mỗi học sinh
- Chỉ đưa vào những học sinh có tất cả điểm trên 70 (học sinh đủ điều kiện). Bạn nên dùng hàm
all()của Python để kiểm tra điều kiện này - Tạo bản tổng hợp các môn học mà học sinh đủ điều kiện theo học, đếm số học sinh đủ điều kiện theo học từng môn
- Trả về một từ điển có hai khóa:
qualified_students: Từ điển ánh xạ mã học sinh với điểm trung bình của học sinh đó, được làm tròn đến 2 chữ số thập phânsubject_summary: Từ điển ánh xạ môn học với số học sinh đủ điều kiện theo học môn đó
Lưu ý: Hàm all() trong Python chỉ trả về True nếu tất cả phần tử trong đối tượng có thể lặp đều là true. Ví dụ, all(grade > 70 for grade in grades) chỉ trả về True nếu mọi điểm đều trên 70.
Đầu vào mẫu:
[
{
"student_id": "S123",
"grades": [88, 92, 85],
"subjects": ["Math", "Science", "History"]
},
{
"student_id": "S124",
"grades": [65, 95, 80],
"subjects": ["Math", "Science", "English"]
},
{
"student_id": "S125",
"grades": [91, 89, 92],
"subjects": ["Math", "Physics", "History"]
}
]Đầu ra mẫu:
{
'qualified_students': {'S123': 88.33, 'S125': 90.67},
'subject_summary': {'Math': 2, 'Science': 1, 'History': 2, 'Physics': 1}
}Tự làm thử
def transform_dataset(data):
# Viết lời giải của bạn ở đây
# Bước 1: Tính điểm trung bình của từng học sinh và lọc ra những học sinh đủ điều kiện
# (học sinh có tất cả các điểm trên 70)
# Bước 2: Tạo bản tóm tắt các môn học của những học sinh đủ điều kiện
# Bước 3: Trả về từ điển cuối cùng với qualified_students và subject_summary
passTất cả bài học trong Logic và luồng chương trình
4Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ7Tập hợp phần 2
Phép toán toán học phần 1Phép toán toán học phần 2Ôn tập: Săn tìm kho báuTập hợp con và tập hợp chaLặp qua các tập hợpÔn tập: Theo dõi giải đấu10Tạo danh sách bằng cú pháp rút gọn cơ bản
Cú phápTạo danh sách đơn giảnThêm điều kiệnSử dụng phép tổng hợp dữ liệuÔn tập: Ngôi nhà của những danh sáchÔn tập: Những phần tử tự do13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Từ điển phần 1
Từ điển là gì?Tạo từ điểnTruy cập giá trịChỉnh sửa từ điểnÔn tập: Trình quản lý công thức nấu ăn5Ra quyết định nâng cao
Toán tử ba ngôiKiểm tra thành viênKiểm tra danh tínhLỗi thụt lềÔn tập: Bộ lọc kỳ nghỉ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Từ điển, phần 2
Phương thức của từ điểnTừ điển lồng nhauKiểm tra khóaLặp qua từ điểnÔn tập: Bộ đếm tần suất6Tập hợp phần 1
Tập hợp là gì?Các phép toán cơ bảnCác phương thức của tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Sử dụng tổngTìm giá trị nhỏ nhất và lớn nhấtSắp xếp dữ liệu hiệu quảÔn tập: Bộ sắp xếp từ điểnTự luyện tập: Trình biên dịch Python online