0
0
🎯 Mục tiêu bài Quiz
TB5 min
Kiểm tra kiến thức của bạn qua các câu hỏi trắc nghiệm và bài tập thực hành!
✅ 18 câu hỏi trắc nghiệm (6 phần)
✅ 3 bài tập thực hành
✅ Yêu cầu: Hoàn thành bài 1-14
Thời gian: 30 phút | Độ khó: Tổng hợp | Đạt yêu cầu: ≥ 13/18 câu đúng
Task 0
1
1
Phần 1: Python Basics — Biến, Kiểu dữ liệu, Luồng điều khiển
TB5 min
Task 1
2
2
Phần 2: Functions & Lập trình hướng đối tượng (OOP)
TB5 min
Task 2
3
3
Phần 3: NumPy
TB5 min
Task 3
4
4
Phần 4: Pandas — DataFrame, GroupBy, Merge
TB5 min
Task 4
5
5
Phần 5: Data Cleaning & Visualization
TB5 min
Task 5
6
6
Phần 6: Feature Engineering & Polars
TB5 min
Task 6
7
7
Phần 7: Bài tập thực hành
TB5 min
Bài tập 1: Pandas — Phân tích dữ liệu bán hàng
Cho DataFrame sau:
Python
1import pandas as pd23data = {4 'product': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B'],5 'region': ['North', 'South', 'North', 'South', 'North', 'South', 'North', 'South'],6 'revenue': [100, 200, 150, 300, 250, 120, 180, 220],7 'quantity': [10, 20, 15, 30, 25, 12, 18, 22]8}9df = pd.DataFrame(data)Yêu cầu:
- Tính tổng revenue theo từng product
- Tìm product có tổng revenue cao nhất
- Tính trung bình quantity theo từng region
Đáp án
Python
1# 1. Tổng revenue theo product2df.groupby('product')['revenue'].sum()3# A: 370, B: 670, C: 48045# 2. Product có tổng revenue cao nhất6df.groupby('product')['revenue'].sum().idxmax()7# 'B' (670)89# 3. Trung bình quantity theo region10df.groupby('region')['quantity'].mean()11# North: 17.0, South: 21.0Bài tập 2: Data Cleaning — Xử lý Missing Values
Cho DataFrame:
Python
1import pandas as pd2import numpy as np34data = {5 'name': ['An', 'Bình', 'Chi', 'Duy', 'Em'],6 'age': [25, np.nan, 30, np.nan, 28],7 'salary': [5000, 6000, np.nan, 7000, np.nan],8 'department': ['IT', 'HR', 'IT', 'HR', 'IT']9}10df = pd.DataFrame(data)Yêu cầu:
- Đếm missing values mỗi cột
- Điền missing values cột 'age' bằng median
- Điền missing values cột 'salary' bằng mean theo department
Đáp án
Python
1# 1. Đếm missing values2df.isnull().sum()3# name: 0, age: 2, salary: 2, department: 045# 2. Điền age bằng median6df['age'].fillna(df['age'].median(), inplace=True)7# median(25, 30, 28) = 28 → age = [25, 28, 30, 28, 28]89# 3. Điền salary bằng mean theo department10df['salary'] = df.groupby('department')['salary'].transform(11 lambda x: x.fillna(x.mean())12)13# IT mean = 5000, HR mean = 6000→7000 mean = 650014# salary = [5000, 6000, 5000, 7000, 5000]Bài tập 3: Visualization — Vẽ biểu đồ phân tích
Yêu cầu: Viết code Python để tạo figure với 2 subplot:
- Bar chart: Tổng revenue theo product (từ bài tập 1)
- Pie chart: Tỷ lệ quantity theo region
Đáp án
Python
1import matplotlib.pyplot as plt23fig, axes = plt.subplots(1, 2, figsize=(12, 5))45# Subplot 1: Bar chart revenue theo product6revenue_by_product = df.groupby('product')['revenue'].sum()7axes[0].bar(revenue_by_product.index, revenue_by_product.values, color=['#3498db', '#e74c3c', '#2ecc71'])8axes[0].set_title('Tổng Revenue theo Product')9axes[0].set_xlabel('Product')10axes[0].set_ylabel('Revenue')1112# Subplot 2: Pie chart quantity theo region13qty_by_region = df.groupby('region')['quantity'].sum()14axes[1].pie(qty_by_region.values, labels=qty_by_region.index, autopct='%1.1f%%', colors=['#9b59b6', '#f39c12'])15axes[1].set_title('Tỷ lệ Quantity theo Region')1617plt.tight_layout()18plt.show()Task 7
8
8
📊 Đánh giá kết quả
TB5 min
| Số câu đúng | Đánh giá |
|---|---|
| 16-18 | 🌟 Xuất sắc! Bạn nắm vững kiến thức Python cho Data Science |
| 13-15 | 👍 Tốt! Cần ôn lại một số chủ đề |
| 9-12 | 📚 Cần học thêm, xem lại các bài |
| < 9 | 🔄 Nên học lại từ đầu |
Task 8
9
9
🎓 Hoàn thành khóa học!
TB5 min
Câu hỏi tự kiểm tra
- Tại sao mutable default arguments (list, dict) trong hàm Python lại gây ra lỗi logic?
- Khi nào nên dùng Polars thay vì Pandas?
- Giải thích sự khác biệt giữa fillna() và dropna() khi xử lý missing values?
- Tại sao Feature Engineering quan trọng trong quy trình Data Science?
🎉 Tuyệt vời! Bạn đã hoàn thành toàn bộ khóa học Python cho Data Science!
Tiếp theo: Hãy áp dụng kiến thức Python vào các dự án thực tế và tiếp tục học Statistics Fundamentals hoặc SQL for Data Analysis!
Chúc mừng!
Bạn đã hoàn thành khóa học Python cho Data Science!
Kiến thức Python này sẽ là nền tảng quan trọng cho:
- 📊 Data Analysis với Pandas/Polars
- 🤖 Machine Learning với Scikit-learn
- 📈 Data Visualization với Matplotlib/Seaborn
- 🔬 Statistical Analysis
- 🏗️ Feature Engineering & Data Pipeline
Next steps:
- Hoàn thành các Mini Projects để củng cố kiến thức
- Học tiếp Statistics Fundamentals hoặc SQL for Data Analysis
- Tham gia Data Challenges để thực hành
Task 9
