Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
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)
  • 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

  • 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

  1. Đọc dữ liệu (CSV, Excel, SQL, JSON…)
  2. Làm sạch dữ liệu (xoá giá trị null, duplicate, xử lý outlier)
  3. Phân tích mô tả (EDA)
  4. Biến đổi dữ liệu (Feature Engineering)
  5. 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.


📚 Tài nguyên học thêm