Tìm hiểu cách tạo bảng tổng hợp kiểu Excel bằng Python với 5 dòng mã
Bảng tổng hợp tiếp tục là một trong những công cụ được tôn kính và được sử dụng rộng rãi nhất trong MS Excel. Cho dù bạn là một nhà phân tích dữ liệu, kỹ sư dữ liệu hay chỉ đơn giản là một người dùng thông thường, rất có thể bạn đã có một vị trí mềm cho MS Excel.
Tuy nhiên, ngày càng có nhiều phạm vi để sao chép các công cụ và tiện ích của MS Excel, đặc biệt là bằng Python. Bạn có biết rằng bạn có thể tạo bảng tổng hợp mở rộng trong DataFrames của Python chỉ với một vài dòng mã không?
Vâng đúng rồi; nếu bạn bị hấp dẫn, đây là cách bạn có thể làm điều đó.
Mục Lục
Điều kiện tiên quyết để tạo bảng tổng hợp
Giống như bất kỳ ngôn ngữ lập trình nào khác, ngay cả Python cũng cần bạn đáp ứng một số điều kiện tiên quyết trước khi bạn có thể viết mã.
Để có được trải nghiệm được tối ưu hóa nhất trong khi tạo bảng tổng hợp đầu tiên của bạn bằng Python, đây là những gì bạn cần:
- IDE Python: Hầu hết các mã Python đều được cài đặt sẵn môi trường phát triển tích hợp (IDE) trên hệ thống của chúng. Có một số IDE tương thích với Python trên thị trường, bao gồm Jupyter Notebook, Spyder, PyCharm và nhiều IDE khác.
- Dữ liệu mẫu: Để minh họa, đây là tập dữ liệu mẫu để bạn làm việc. Ngoài ra, hãy thoải mái tinh chỉnh các mã này trực tiếp trên dữ liệu trực tiếp của bạn.
Liên kết mẫu dữ liệu: Siêu kho mẫu
Nhập các Thư viện Cơ bản
Vì Python hoạt động dựa trên khái niệm thư viện của bên thứ ba, bạn cần nhập Gấu trúc thư viện để tạo trục.
Bạn có thể sử dụng Pandas để nhập tệp Excel sang Python và lưu trữ dữ liệu trong DataFrame. Để nhập gấu trúc, hãy sử dụng nhập khẩu lệnh theo cách sau:
import pandas as pd
Cách tạo Pivots bằng Python
Vì thư viện hiện đã có sẵn, bạn cần nhập tệp Excel vào Python, đây là cơ sở để tạo và thử nghiệm các trục trong Python. Lưu trữ dữ liệu đã nhập trong DataFrame với mã sau:
path = "C://Users//user/OneDrive//Desktop//"
file = "Sample - Superstore.xls"
df = pd.read_excel(path + file)
df.head()
Ở đâu:
- df: Tên biến để lưu trữ dữ liệu DataFrame
- pd: Bí danh cho thư viện Pandas
- read_excel (): Hàm Pandas để đọc tệp Excel sang Python
- đường dẫn: Vị trí nơi tệp Excel được lưu trữ (Siêu kho mẫu)
- tập tin: Tên tệp cần nhập
- cái đầu(): Hiển thị năm hàng đầu tiên của DataFrame, theo mặc định
Đoạn mã trên nhập tệp Excel sang Python và lưu trữ dữ liệu trong DataFrame. cuối cùng cái đầu hàm hiển thị năm hàng dữ liệu đầu tiên.
Hàm này rất tiện dụng để đảm bảo dữ liệu được nhập chính xác vào Python.
Trường Pivot Table nào tồn tại trong Python?
Giống như đối tác Excel của nó, bảng tổng hợp có một tập hợp các trường tương tự trong Python. Dưới đây là một số lĩnh vực bạn cần biết:
- Dữ liệu: Trường dữ liệu đề cập đến dữ liệu được lưu trữ trong Python DataFrame
- Giá trị: Dữ liệu cột sóng được sử dụng trong một trục
- Mục lục: (Các) cột chỉ mục để nhóm dữ liệu
- Cột: Các cột giúp tổng hợp dữ liệu hiện có trong DataFrame
Mục đích đằng sau việc sử dụng hàm chỉ mục
Vì hàm chỉ mục là phần tử chính của bảng tổng hợp, nên nó trả về bố cục cơ bản của dữ liệu. Nói cách khác, bạn có thể nhóm dữ liệu của mình với mục lục hàm số.
Giả sử bạn muốn xem một số giá trị tổng hợp cho các sản phẩm được liệt kê trong Bộ phận cột. Bạn có thể tính toán tổng hợp được xác định trước (giá trị trung bình) trong Python bằng cách xác định cột được chỉ định như một giá trị chỉ số.
df.pivot_table(index = "Segment")
Ở đâu:
- df: DataFrame chứa dữ liệu
- pivot_table: Hàm bảng tổng hợp trong Python
- mục lục: Hàm tích hợp sẵn để xác định một cột làm chỉ mục
- Bộ phận: Cột để sử dụng làm giá trị chỉ mục
Tên biến của Python phân biệt chữ hoa chữ thường, vì vậy hãy tránh chuyển đổi khỏi các tên biến được xác định trước được liệt kê trong hướng dẫn này.
Cách sử dụng giá trị đa chỉ mục
Khi bạn muốn sử dụng nhiều cột chỉ mục, bạn có thể xác định tên cột trong danh sách trong hàm chỉ mục. Tất cả những gì bạn phải làm là chỉ định tên cột trong một tập hợp dấu ngoặc vuông ([ ])như hình dưới đây:
df.pivot_table(index = ["Category", "Sub-Category"])
Hàm pivot thụt lề cột chỉ mục trong đầu ra. Python hiển thị bần tiện của tất cả các giá trị số so với mỗi giá trị chỉ mục.
Học cách hạn chế giá trị trong đầu ra
Vì Python chọn tất cả các cột số theo mặc định, bạn có thể hạn chế các giá trị để điều chỉnh kết quả hiển thị trong đầu ra cuối cùng. Sử dụng giá trị chức năng xác định các cột bạn muốn xem.
df.pivot_table(index = ["Region", "Category", "Sub-Category"], values = "Sales")
Trong đầu ra cuối cùng, sẽ có ba cột chỉ mục và các giá trị trung bình cho cột Doanh số được so sánh với mỗi phần tử.
Xác định các hàm tổng hợp trong bảng tổng hợp
Điều gì xảy ra khi bạn không muốn tính giá trị trung bình theo mặc định? Bảng tổng hợp có rất nhiều chức năng khác, vượt ra ngoài việc tính toán giá trị trung bình đơn giản.
Đây là cách viết mã:
df.pivot_table(index = ["Category"], values = "Sales", aggfunc = [sum, max, min, len])
Ở đâu:
- Tổng: Tính tổng các giá trị
- tối đa: Tính giá trị lớn nhất
- tối thiểu: Tính giá trị lớn nhất
- len: Tính toán số lượng giá trị
Bạn cũng có thể xác định từng hàm này trong các dòng mã riêng biệt.
Cách thêm Tổng số vào Bảng tổng hợp
Không có nội dung dữ liệu nào là hoàn chỉnh nếu không có tổng số. Để tính toán và hiển thị tổng số cho mỗi cột dữ liệu, hãy sử dụng lề và margins_name hàm số.
df.pivot_table(index = ["Category"], values = "Sales", aggfunc = [sum, max, min, len], margins=True, margins_name='Grand Totals')
Ở đâu:
- lợi nhuận: Hàm tính tổng tổng
- margins_name: Chỉ định tên của danh mục trong cột chỉ mục (ví dụ: Tổng tổng)
Sửa đổi và sử dụng mã cuối cùng
Đây là đoạn mã cuối cùng ngắn gọn:
import pandas as pd
path = "C://Users//user/OneDrive//Desktop//"
file = "Sample - Superstore.xls"
df = pd.read_excel(path + file)
df.pivot_table(index = ["Region", "Category", "Sub-Category"], values = "Sales",
aggfunc = [sum, max, min, len],
margins=True,
margins_name='Grand Totals')
Tạo bảng tổng hợp bằng Python
Khi bạn đang sử dụng bảng Pivot, các tùy chọn đơn giản là vô tận. Python cho phép bạn dễ dàng xử lý các mảng dữ liệu rộng lớn mà không phải lo lắng về sự chênh lệch dữ liệu và độ trễ hệ thống.
Vì các chức năng của Python không bị giới hạn ở việc chỉ tập trung dữ liệu vào các trục, nên bạn có thể kết hợp nhiều bảng tính và trang tính Excel, đồng thời thực hiện một loạt các hàm liên quan với Python.
Với Python, luôn có một cái gì đó mới trên đường chân trời.