Phân Tích Dữ Liệu Với Pandas

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 2 tháng 2, 2025

1. Pandas Là Gì?

Pandas là thư viện mạnh mẽ trong Python giúp thao tác và phân tích dữ liệu một cách hiệu quả. Nó cung cấp hai cấu trúc dữ liệu chính:

  • Series: Một mảng một chiều có nhãn.
  • DataFrame: Một bảng dữ liệu hai chiều giống như bảng trong Excel.

2. Cài Đặt Pandas

Nếu bạn chưa cài đặt, hãy chạy lệnh sau:

pip install pandas

Sau đó, import thư viện vào chương trình:

import pandas as pd

3. Tạo Series và DataFrame

Tạo Series

import pandas as pd

# Tạo Series từ danh sách
s = pd.Series([10, 20, 30, 40])
print(s)

Kết quả:

0    10
1    20
2    30
3    40
dtype: int64

Tạo DataFrame từ danh sách

data = {
    "Tên": ["An", "Bình", "Châu"],
    "Tuổi": [25, 30, 28],
    "Lương": [500, 600, 700]
}

df = pd.DataFrame(data)
print(df)

Kết quả:

    Tên  Tuổi  Lương
0    An    25    500
1  Bình    30    600
2  Châu    28    700

4. Đọc và Ghi Dữ Liệu

Đọc dữ liệu từ file CSV

df = pd.read_csv("data.csv")
print(df.head())  # Hiển thị 5 dòng đầu

Ghi dữ liệu vào file CSV

df.to_csv("output.csv", index=False)  # Lưu mà không có cột index

5. Truy Cập Dữ Liệu Trong DataFrame

Lấy một cột cụ thể

print(df["Tên"])

Lấy một hàng cụ thể

print(df.iloc[0])  # Lấy dòng đầu tiên

Lấy nhiều cột

print(df[["Tên", "Lương"]])

Lọc dữ liệu

df_luong_cao = df[df["Lương"] > 600]
print(df_luong_cao)

6. Xử Lý Dữ Liệu

Thêm cột mới

df["Thưởng"] = df["Lương"] * 0.1
print(df)

Cập nhật giá trị

df.loc[1, "Lương"] = 650  # Cập nhật lương cho dòng thứ 2

Xóa cột

df.drop("Thưởng", axis=1, inplace=True)

Xóa hàng

df.drop(1, axis=0, inplace=True)  # Xóa hàng thứ 2

7. Thống Kê Dữ Liệu

print(df.describe())  # Thống kê tổng quan
print(df["Lương"].mean())  # Trung bình lương
print(df["Tuổi"].max())  # Tuổi lớn nhất
print(df["Tuổi"].min())  # Tuổi nhỏ nhất

8. Nhóm Dữ Liệu (GroupBy)

df_grouped = df.groupby("Tuổi")["Lương"].mean()
print(df_grouped)

9. Xử Lý Dữ Liệu Thiếu (Missing Data)

Kiểm tra dữ liệu bị thiếu

print(df.isnull().sum())  # Đếm số lượng giá trị null trong mỗi cột

Điền giá trị thay thế

df.fillna(0, inplace=True)  # Điền giá trị 0 vào các ô trống

Xóa hàng có giá trị thiếu

df.dropna(inplace=True)

10. Tổng Kết

Chức năng Hàm Dùng
Đọc dữ liệu CSV pd.read_csv("file.csv")
Ghi dữ liệu CSV df.to_csv("file.csv")
Xem dữ liệu đầu df.head()
Lọc dữ liệu df[df["Lương"] > 600]
Thống kê dữ liệu df.describe()
Nhóm dữ liệu df.groupby("cột")["cột"].mean()
Xử lý dữ liệu thiếu df.fillna(giá trị), df.dropna()

Pandas là thư viện mạnh mẽ giúp phân tích và xử lý dữ liệu hiệu quả. Nó thường được kết hợp với NumPy và Matplotlib để phân tích dữ liệu lớn.

Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ