MinAI - Về trang chủ
Quiz
15/1530 phút
Đang tải...

Quiz tổng hợp

Kiểm tra kiến thức toàn khóa học Python cho Data Science

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

1

Phần 1: Python Basics — Biến, Kiểu dữ liệu, Luồng điều khiển

TB5 min
2

Phần 2: Functions & Lập trình hướng đối tượng (OOP)

TB5 min
3

Phần 3: NumPy

TB5 min
4

Phần 4: Pandas — DataFrame, GroupBy, Merge

TB5 min
5

Phần 5: Data Cleaning & Visualization

TB5 min
6

Phần 6: Feature Engineering & Polars

TB5 min
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 pd
2
3data = {
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:

  1. Tính tổng revenue theo từng product
  2. Tìm product có tổng revenue cao nhất
  3. Tính trung bình quantity theo từng region
Đáp án
Python
1# 1. Tổng revenue theo product
2df.groupby('product')['revenue'].sum()
3# A: 370, B: 670, C: 480
4
5# 2. Product có tổng revenue cao nhất
6df.groupby('product')['revenue'].sum().idxmax()
7# 'B' (670)
8
9# 3. Trung bình quantity theo region
10df.groupby('region')['quantity'].mean()
11# North: 17.0, South: 21.0

Bài tập 2: Data Cleaning — Xử lý Missing Values

Cho DataFrame:

Python
1import pandas as pd
2import numpy as np
3
4data = {
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:

  1. Đếm missing values mỗi cột
  2. Điền missing values cột 'age' bằng median
  3. Điền missing values cột 'salary' bằng mean theo department
Đáp án
Python
1# 1. Đếm missing values
2df.isnull().sum()
3# name: 0, age: 2, salary: 2, department: 0
4
5# 2. Điền age bằng median
6df['age'].fillna(df['age'].median(), inplace=True)
7# median(25, 30, 28) = 28 → age = [25, 28, 30, 28, 28]
8
9# 3. Điền salary bằng mean theo department
10df['salary'] = df.groupby('department')['salary'].transform(
11 lambda x: x.fillna(x.mean())
12)
13# IT mean = 5000, HR mean = 6000→7000 mean = 6500
14# 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:

  1. Bar chart: Tổng revenue theo product (từ bài tập 1)
  2. Pie chart: Tỷ lệ quantity theo region
Đáp án
Python
1import matplotlib.pyplot as plt
2
3fig, axes = plt.subplots(1, 2, figsize=(12, 5))
4
5# Subplot 1: Bar chart revenue theo product
6revenue_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')
11
12# Subplot 2: Pie chart quantity theo region
13qty_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')
16
17plt.tight_layout()
18plt.show()
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
9

🎓 Hoàn thành khóa học!

TB5 min

Câu hỏi tự kiểm tra

  1. Tại sao mutable default arguments (list, dict) trong hàm Python lại gây ra lỗi logic?
  2. Khi nào nên dùng Polars thay vì Pandas?
  3. Giải thích sự khác biệt giữa fillna() và dropna() khi xử lý missing values?
  4. 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