- Tác giả
- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
Giới thiệu Pandas – Thư viện xử lý dữ liệu mạnh mẽ trong Python
1. Pandas là gì?
Pandas là một thư viện mã nguồn mở trong Python được thiết kế để xử lý, phân tích và trực quan hóa dữ liệu một cách nhanh chóng và linh hoạt.
Tên “Pandas” xuất phát từ cụm “Panel Data” – thuật ngữ trong kinh tế học dùng để chỉ dữ liệu dạng bảng (giống Excel hoặc SQL table).
✅ Tóm tắt:
Pandas = Excel + SQL + NumPy (kết hợp sức mạnh tính toán và thao tác dữ liệu)
2. Cấu trúc dữ liệu chính trong Pandas
Pandas cung cấp 2 cấu trúc dữ liệu cốt lõi:
🧩 Series
- Là một mảng 1 chiều (giống cột trong Excel)
- Có index đi kèm cho từng phần tử
import pandas as pd
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
Kết quả:
a 10
b 20
c 30
d 40
dtype: int64
📊 DataFrame
- Là bảng 2 chiều gồm nhiều
Series
- Mỗi cột có thể là kiểu dữ liệu khác nhau (số, chuỗi, ngày tháng…)
data = {
'Name': ['John', 'Anna', 'Peter'],
'Age': [28, 24, 35],
'Country': ['USA', 'Germany', 'Canada']
}
df = pd.DataFrame(data)
print(df)
Kết quả:
Name Age Country
0 John 28 USA
1 Anna 24 Germany
2 Peter 35 Canada
3. Đọc và ghi dữ liệu với Pandas
Pandas hỗ trợ nhiều định dạng phổ biến:
df = pd.read_csv('data.csv') # Đọc file CSV
df.to_excel('output.xlsx', index=False) # Xuất sang Excel
Ngoài ra còn hỗ trợ:
.read_json()
.read_sql()
.read_html()
.read_parquet()
4. Các thao tác dữ liệu cơ bản
4.1 Xem dữ liệu
df.head() # 5 dòng đầu
df.tail(3) # 3 dòng cuối
df.info() # Thông tin tổng quát
df.describe() # Thống kê cơ bản
4.2 Chọn cột hoặc dòng
df['Age'] # Lấy 1 cột
df[['Name', 'Age']] # Lấy nhiều cột
df.iloc[0] # Lấy dòng theo vị trí
df.loc[1] # Lấy dòng theo index
4.3 Lọc dữ liệu
df[df['Age'] > 25]
4.4 Thêm / Xóa cột
df['Salary'] = [5000, 4200, 6100]
df.drop('Country', axis=1, inplace=True)
4.5 Sắp xếp và nhóm dữ liệu
df.sort_values('Age', ascending=False)
df.groupby('Country')['Age'].mean()
5. Ứng dụng Pandas trong Data Science & Machine Learning
Pandas là bước đầu tiên trong mọi quy trình Machine Learning:
🚀 Quy trình phổ biến
- Đọc dữ liệu (CSV, Excel, SQL, JSON…)
- Làm sạch dữ liệu (xoá giá trị null, duplicate, xử lý outlier)
- Phân tích mô tả (EDA)
- Biến đổi dữ liệu (Feature Engineering)
- Kết hợp với NumPy / Scikit-learn / TensorFlow
Ví dụ:
import pandas as pd
import numpy as np
df = pd.read_csv('students.csv')
df['Score_z'] = (df['Score'] - np.mean(df['Score'])) / np.std(df['Score'])
6. So sánh Pandas với NumPy và SQL
Công cụ | Mục đích chính | Cấu trúc dữ liệu | Điểm mạnh |
---|---|---|---|
NumPy | Tính toán ma trận, vector | ndarray | Hiệu năng cao, tính toán số học |
Pandas | Phân tích, thao tác dữ liệu dạng bảng | DataFrame | Linh hoạt, thân thiện, dễ đọc |
SQL | Quản lý dữ liệu trong DB | Table | Ngôn ngữ truy vấn dữ liệu lớn |
7. Ví dụ thực tế: Phân tích doanh thu bán hàng
data = {
'Month': ['Jan', 'Feb', 'Mar', 'Apr'],
'Sales': [200, 250, 400, 300]
}
df = pd.DataFrame(data)
df['Growth'] = df['Sales'].pct_change() * 100
print(df)
Kết quả:
Month Sales Growth
0 Jan 200 NaN
1 Feb 250 25.00
2 Mar 400 60.00
3 Apr 300 -25.00
8. Kết luận
Pandas là công cụ không thể thiếu trong lĩnh vực Khoa học Dữ liệu. Nó giúp bạn làm sạch, thao tác và khám phá dữ liệu một cách nhanh chóng – bước đệm quan trọng trước khi đưa vào mô hình Machine Learning.
💡 Mẹo: Kết hợp Pandas + NumPy + Matplotlib = “Bộ ba huyền thoại” trong xử lý dữ liệu bằng Python.