CodeGym /Các khóa học /Python SELF VI /Chuẩn bị dữ liệu cho báo cáo bằng các phương pháp pandas

Chuẩn bị dữ liệu cho báo cáo bằng các phương pháp pandas

Python SELF VI
Mức độ, Bài học
Có sẵn

1. Cấu trúc dữ liệu cho báo cáo

Khi bạn xây dựng báo cáo, điều quan trọng không phải chỉ là trình bày một đống dữ liệu trong giao diện đẹp, mà là làm cho thông tin trở nên dễ hiểu và tiếp cận. Việc chuẩn bị dữ liệu ảnh hưởng trực tiếp đến mức độ dễ dàng và nhanh chóng mà báo cáo của bạn sẽ được hiểu.

Bảng tổng hợp: công cụ Thụy Sĩ cho báo cáo

Bảng tổng hợp là một cách mạnh mẽ để tổng kết, gom nhóm và trình bày dữ liệu, thường được sử dụng trong Excel để phân tích. Trong pandas, chúng ta có thể dễ dàng tạo bảng tổng hợp bằng phương pháp pivot_table. Hãy cùng xem một ví dụ đơn giản.

Giả sử bạn có dữ liệu về doanh số bán hàng trong cửa hàng:

Python

import pandas as pd

data = {
    'Sản phẩm': ['Cam', 'Táo', 'Chuối', 'Cam', 'Chuối', 'Táo'],
    'Tháng': ['Tháng 1', 'Tháng 1', 'Tháng 1', 'Tháng 2', 'Tháng 2', 'Tháng 2'],
    'Doanh số': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

Để tạo một bảng tổng hợp hiển thị tổng số doanh số của mỗi sản phẩm theo từng tháng, chúng ta sử dụng pivot_table.

Python

pivot_df = df.pivot_table(values='Doanh số', index='Sản phẩm', columns='Tháng', aggfunc='sum')
print(pivot_df)

Ví dụ đơn giản này cho thấy chúng ta có thể nhanh chóng gom nhóm dữ liệu theo danh mục và ngày tháng — đây là nền tảng lý tưởng cho các báo cáo.

2. Sử dụng các phương pháp pandas để chuẩn bị dữ liệu

Phương pháp pivot_table

Phương pháp pivot_table rất linh hoạt và không chỉ cho phép tổng hợp dữ liệu mà còn áp dụng các hàm gom nhóm khác như mean, count, v.v. Hãy xem cách hiển thị giá trị trung bình của doanh số:

Python

pivot_mean_df = df.pivot_table(values='Doanh số', index='Sản phẩm', columns='Tháng', aggfunc='mean')
print(pivot_mean_df)

Phương pháp crosstab

Phương pháp crosstab trong pandas tương tự như bảng tổng hợp, nhưng được sử dụng để tính toán tần suất. Giả sử chúng ta muốn tính tần suất bán mỗi sản phẩm trong các tháng khác nhau:

Python

cross_df = pd.crosstab(df['Sản phẩm'], df['Tháng'])
print(cross_df)

Phương pháp này rất hữu ích khi cần nghiên cứu phân phối dữ liệu theo danh mục hoặc phân tích tần suất các sự kiện.

3. Tùy chỉnh hiển thị dữ liệu với các chỉ mục đa chiều

Chỉ mục đa chiều

Đúng vậy, pandas cho phép bạn vượt ra ngoài dữ liệu hai chiều và sử dụng các chỉ mục đa chiều. Điều này hữu dụng khi biểu diễn dữ liệu với nhiều mức độ gom nhóm. Ví dụ, chúng ta thêm "Năm" vào tập dữ liệu của mình và tạo chỉ mục đa chiều.

Python

data['Năm'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='Doanh số', index=['Năm', 'Sản phẩm'], columns='Tháng', aggfunc='sum')
print(multi_pivot_df)

Giờ đây, dữ liệu của chúng ta đã được gom nhóm theo năm và sản phẩm, giúp chúng trở nên thông tin hơn.

4. Thực hành và phân tích

Hãy áp dụng những gì chúng ta đã học vào thực tế. Bài tập: chuẩn bị dữ liệu cho báo cáo bán hàng.

Giả sử bạn có các dữ liệu sau về doanh số bán hàng:

Python

data = {
    'Sản phẩm': ['Cam', 'Cam', 'Táo', 'Táo', 'Chuối', 'Chuối'],
    'Tháng': ['Tháng 1', 'Tháng 2', 'Tháng 1', 'Tháng 2', 'Tháng 1', 'Tháng 2'],
    'Năm': [2023, 2023, 2024, 2024, 2023, 2024],
    'Doanh số': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

Nhiệm vụ của bạn là tạo một bảng tổng hợp hiển thị tổng số doanh số cho mỗi sản phẩm theo từng tháng, bao gồm cả dữ liệu tổng cộng theo năm.

Python

pivot_total_df = df.pivot_table(values='Doanh số', index=['Năm', 'Sản phẩm'], columns='Tháng', aggfunc='sum', margins=True, margins_name='Tổng')
print(pivot_total_df)

Dòng “Tổng” này sẽ hiển thị tổng số cho tất cả danh mục, thường rất cần thiết để có cái nhìn tổng quan.

5. Thảo luận về chiến lược trình bày dữ liệu và phân tích

Chuẩn bị dữ liệu cho báo cáo với pandas không chỉ là toán học, mà còn là nghệ thuật. Một phần quan trọng của quy trình này là chọn cách trình bày dữ liệu thông tin nhất, dù đó là các bảng với các phép tổng đơn giản hay đồ thị phức tạp. Trong thực tế, việc cấu trúc như vậy không chỉ giúp hiểu các chỉ số hiện tại mà còn đưa ra các quyết định sáng suốt. Bạn có thể sẽ thấy mình như một "phù thủy", biến những dòng số nhàm chán thành một bức tranh rõ ràng.

Nếu bạn muốn trở thành bậc thầy trong việc tự động hóa chuẩn bị báo cáo thì đừng quên các khả năng của pandas và đừng ngại thử nghiệm với các phương pháp và kỹ thuật khác nhau. Kỹ năng này sẽ có ích không chỉ trong phân tích mà còn cả trong các buổi phỏng vấn và sự nghiệp tương lai của bạn. Hãy mạnh dạn khám phá thế giới dữ liệu và làm cho báo cáo của mình trở nên hấp dẫn, thông tin và dễ tiếp cận!

1
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Tạo bảng tổng hợp với dữ liệu cơ bản
Tạo bảng tổng hợp với dữ liệu cơ bản
2
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Phân tích dữ liệu bán hàng bằng cách tổng hợp
Phân tích dữ liệu bán hàng bằng cách tổng hợp
3
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Phân tích tần suất bán hàng theo sản phẩm và tháng sử dụng crosstab
Phân tích tần suất bán hàng theo sản phẩm và tháng sử dụng crosstab
4
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Tạo bảng tổng hợp đa chiều với các giá trị tổng kết
Tạo bảng tổng hợp đa chiều với các giá trị tổng kết
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION