HomeTin học Văn phòngExcelTìm hiểu cách...

Tìm hiểu cách tạo bảng Pivot kiểu Excel bằng Python với 5 dòng mã


Bảng Pivot tiếp tục là một trong những công cụ được tôn trọng và sử dụng rộng rãi nhất trong MS Excel. Cho dù bạn là nhà phân tích dữ liệu, kỹ sư dữ liệu hay chỉ đơn giản là người dùng thông thường, rất có thể bạn đã có điểm yếu đối với 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à trong Python. Bạn có biết rằng bạn có thể tạo các 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 tò mò, đây là cách bạn có thể làm điều đó.


Điều kiện tiên quyết để tạo Pivot Table

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 thêm  Cách tạo ngân sách dựa trên số không trong Excel

Để có được trải nghiệm tối ưu 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ó môi trường phát triển tích hợp (IDE) được cài đặt sẵn 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, vui lòng chỉnh sửa 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 thị mẫu

Nhập các thư viện thiết yếu

Vì Python hoạt động dựa trên khái niệm thư viện của bên thứ ba, nên bạn cần nhập tệ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 vào Python và lưu trữ dữ liệu trong DataFrame. Để nhập Pandas, hãy sử dụng nhập khẩu lệnh theo cách sau:

 import pandas as pd 

Cách tạo Pivot trong Python

Vì thư viện hiện đã có sẵn nê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(): Chức năng gấu trúc để đọc tệp Excel vào Python
  • con đường: Vị trí lưu trữ tệp Excel (Sample Superstore)
  • tập tin: Tên file cần nhập
  • cái đầu(): Theo mặc định, hiển thị năm hàng đầu tiên của DataFrame
Đọc thêm  Cách chia trong Excel

Đoạn mã trên nhập tệp Excel vào Python và lưu trữ dữ liệu trong DataFrame. cuối cùng cái đầu chức năng hiển thị năm hàng dữ liệu đầu tiên.

Giao diện Jupyter Notebook hiển thị mã Python

Chức năng này rất hữu ích để đả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 vài lĩnh vực bạn cần biết về:

  • Dữ liệu: Trường dữ liệu đề cập đến dữ liệu được lưu trữ trong Khung dữ liệu Python
  • giá trị: Dữ liệu cột đượ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 chức năng chỉ mục

Vì hàm chỉ mục là thành phần 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 chức năng.

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
  • trục_bảng: Hàm bảng tổng hợp trong Python
  • mục lục: Hàm dựng sẵn để xác định 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.

Giao diện Jupyter Notebook hiển thị mã Python

Cách sử dụng các 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 một danh sách trong hàm chỉ số. Tất cả những gì bạn phải làm là chỉ định các tên cột trong một tập hợp các dấu ngoặc vuông ([ ])như hình dưới đây:

 df.pivot_table(index = ["Category", "Sub-Category"]) 
Giao diện Jupyter Notebook hiển thị mã Python

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 từng giá trị chỉ mục.

Học cách hạn chế các giá trị trong đầu ra

Vì Python chọn tất cả các cột số theo mặc định, nên bạn có thể hạn chế các giá trị để điều chỉnh kết quả được hiển thị trong đầu ra cuối cùng. Sử dụng giá trị để xác định các cột bạn muốn xem.

 df.pivot_table(index = ["Region", "Category", "Sub-Category"], values = "Sales") 

Trong kết quả cuối cùng, sẽ có ba cột chỉ mục và các giá trị trung bình của cột Doanh số được so sánh với từng phần tử.

Giao diện Jupyter Notebook hiển thị mã Python

Xác định các hàm tổng hợp trong Pivot Table

Đ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ị
Giao diện Jupyter Notebook hiển thị mã Python

Bạn cũng có thể xác định từng chức năng này trong các dòng mã riêng biệt.

Cách thêm Tổng số lớn vào Bảng Pivot

Không có nội dung dữ liệu nào hoàn chỉnh nếu không có tổng số lớn. Để tính toán và hiển thị tổng cộng trên mỗi cột dữ liệu, hãy sử dụng lề tên_lề chức năng.

 df.pivot_table(index = ["Category"], values = "Sales", aggfunc = [sum, max, min, len], margins=True, margins_name='Grand Totals') 

Ở đâu:

  • lề: Hàm tính tổng lớn
  • tên_lề: Chỉ định tên của danh mục trong cột chỉ mục (ví dụ: Tổng số lớn)

Sửa đổi và sử dụng mã cuối cùng

Đây là đoạn mã cuối cùng:

 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 Pivot Table trong 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 lớn mà không phải lo lắng về sự khác biệt dữ liệu và độ trễ của hệ thống.

Vì các chức năng của Python không bị hạn chế chỉ trong việc cô đọng dữ liệu thành các trục, nên bạn có thể kết hợp nhiều sổ làm việc và trang tính Excel trong khi thực hiện một loạt các chức năng liên quan với Python.

Với Python, luôn có điều gì đó mới mẻ xuất hiện.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status