Xoay excel trong python

Các bạn đọc like ủng hộ MUO nhé. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm

Bảng Pivot tiếp tục là một trong những công cụ được sử dụng rộng rãi và được tôn trọng 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ó một điểm yếu cho MS Excel

Tuy nhiên, ngày càng có nhiều khả năng 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;

Đ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ó đượ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 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 họ. 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 thư viện Pandas để 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 lệnh nhập theo cách sau

 import pandas as pd 

Cách tạo Pivot trong 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à kiểm tra các trục trong Python. Lưu trữ dữ liệu đã nhập trong DataFrame với mã sau

 # Create a new DataFrame

# replace with your own path here
path = "C://Users//user/OneDrive//Desktop//"

# you can define the filename here
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
  • đường dẫn. Vị trí lưu trữ tệp Excel (Sample Superstore)
  • tập tin. Tên tệp để nhập
  • đầu(). Theo mặc định, hiển thị năm hàng đầu tiên của DataFrame

Đ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, hàm head hiển thị năm hàng dữ liệu đầu tiên

Jupyter Notebook interface showing Python code

Chức năng này rất tiện lợi để đả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 bằng hàm chỉ mục

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 cột Phân khúc. 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 làm giá trị chỉ mục

 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 từ các tên biến được xác định trước được liệt kê trong hướng dẫn này

Jupyter Notebook interface showing Python code

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 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 các dấu ngoặc vuông ([ ]), như hình bên dưới

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

Jupyter Notebook interface showing Python code

Hàm trục thụt lề cột chỉ mục trong đầu ra. Python hiển thị giá trị trung bình của tất cả các giá trị số đối 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ả hiển thị trong kết quả cuối cùng. Sử dụng hàm 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 cho cột Doanh số được so sánh với từng phần tử

Jupyter Notebook interface showing Python code

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?

Đâ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ị

Jupyter Notebook interface showing Python code

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 hàm margins và margins_name

 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à bản tóm tắt mã cuối cùng

 import pandas as pd

# replace with your own path here
path = "C://Users//user/OneDrive//Desktop//"

# you can define the filename here
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ị giới hạn 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