Xử Lý Dữ Liệu Với Thư Viện Pandas
Biến Python thành công cụ thay thế Excel chuyên nghiệp
Lộ trình 10 ví dụ thực hành
- VD1: Tạo DataFrame đầu tiên
- VD2: Đọc dữ liệu từ file CSV/Excel
- VD3: Xem nhanh dữ liệu (Head/Tail)
- VD4: Chọn Cột và Dòng (Indexing)
- VD5: Lọc dữ liệu theo điều kiện
- VD6: Thêm và Sửa cột dữ liệu
- VD7: Xử lý dữ liệu trống (NaN)
- VD8: Thống kê mô tả (Describe)
- VD9: Gom nhóm dữ liệu (GroupBy)
- VD10: Xuất dữ liệu ra Excel
Giới thiệu chung
Pandas là thư viện mã nguồn mở cung cấp các cấu trúc dữ liệu hiệu suất cao (như DataFrame) giúp việc làm sạch, phân tích và xử lý dữ liệu trở nên cực kỳ đơn giản.
Ví dụ thực hành chi tiết
Ví dụ 1: Tạo DataFrame từ Dictionary
Python
import pandas as pd
data = {
'Họ tên': ['An', 'Bình', 'Chi'],
'Điểm': [8.5, 9.0, 7.5],
'Lớp': ['12A1', '12A2', '12A1']
}
df = pd.DataFrame(data)
print(df)
Giải thích:
pd.DataFrame(data): Chuyển đổi một từ điển (Dictionary) thành bảng dữ liệu có hàng và cột.- Mỗi Key trở thành tiêu đề cột, Value (danh sách) trở thành dữ liệu hàng.
Ví dụ 2: Đọc dữ liệu từ file Excel
Python
# Đọc file Excel (Cần cài thêm openpyxl)
df = pd.read_excel('danh_sach_hoc_sinh.xlsx')
# Đọc file CSV
# df = pd.read_csv('du_lieu.csv')
print(df.info())
Giải thích:
read_excel(): Hàm quyền lực nhất để lấy dữ liệu từ các báo cáo kế toán/nhà trường.df.info(): Xem tổng quan về kiểu dữ liệu và số lượng dòng không trống.
Ví dụ 5: Lọc dữ liệu theo điều kiện
Python
# Lọc những học sinh có điểm >= 8.0
hoc_sinh_gioi = df[df['Điểm'] >= 8.0]
# Lọc học sinh lớp 12A1 có điểm trên 7
loc_pht = df[(df['Lớp'] == '12A1') & (df['Điểm'] > 7)]
print(loc_pht)
Giải thích:
- Pandas sử dụng cơ chế Boolean Indexing để lọc.
- Ký hiệu
&đại diện cho điều kiện "VÀ",|cho điều kiện "HOẶC".
Ví dụ 9: Gom nhóm dữ liệu (GroupBy)
Python
# Tính điểm trung bình theo từng lớp
diem_lop = df.groupby('Lớp')['Điểm'].mean()
# Đếm số lượng học sinh mỗi lớp
so_luong = df.groupby('Lớp')['Họ tên'].count()
print(diem_lop)
Giải thích:
groupby(): Tương tự Pivot Table trong Excel, giúp tổng hợp dữ liệu cực nhanh.mean(),sum(),count(): Các hàm tính toán đi kèm sau khi gom nhóm.
Ví dụ 10: Xuất dữ liệu sau xử lý ra Excel
Python
# Lưu kết quả lọc vào một file Excel mới
loc_pht.to_excel('ket_qua_loc.xlsx', index=False)
print("Đã xuất file thành công!")
Giải thích:
to_excel(): Xuất DataFrame ra file.index=False: Loại bỏ cột số thứ tự mặc định của Pandas để file Excel trông sạch sẽ hơn.
💡 Lời khuyên cho giáo viên: Khi dạy Pandas, hãy cho học sinh thực hành trực tiếp trên file điểm của lớp. Việc thấy code tự động tính điểm trung bình của 40 bạn trong nháy mắt sẽ tạo hứng thú rất lớn.
📌 Danh sách bình luận