Tạo bảng tổng hợp trong Excel bằng gấu trúc Python

Trước khi sử dụng bảng tổng hợp của gấu trúc, hãy đảm bảo bạn hiểu dữ liệu và các câu hỏi mà bạn đang cố gắng giải quyết thông qua bảng tổng hợp. Bằng cách sử dụng phương pháp này, bạn có thể tạo ra kết quả mạnh mẽ. Chúng tôi sẽ giải thích chi tiết trong bài viết này, cách tạo bảng tổng hợp trong pandas python

Đọc dữ liệu từ tệp Excel

Chúng tôi đã tải xuống cơ sở dữ liệu excel về bán hàng thực phẩm. Trước khi bắt đầu thực hiện, bạn cần cài đặt một số gói cần thiết để đọc và ghi tệp cơ sở dữ liệu excel. Nhập lệnh sau vào phần đầu cuối của trình chỉnh sửa pycharm của bạn

pip cài đặt xlwt openpyxl xlsxwriter xlrd

Bây giờ, đọc dữ liệu từ bảng excel. Nhập các thư viện gấu trúc cần thiết và thay đổi đường dẫn cơ sở dữ liệu của bạn. Sau đó, bằng cách chạy đoạn mã sau, dữ liệu có thể được lấy từ tệp

nhập gấu trúc as pd
nhập numpy as np
dtfrm = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
in[ dtfrm ]

Tại đây, dữ liệu được đọc từ cơ sở dữ liệu excel bán hàng thực phẩm và được chuyển vào biến khung dữ liệu

Tạo Pivot Table bằng Pandas Python

Dưới đây, chúng tôi đã tạo một bảng tổng hợp đơn giản bằng cách sử dụng cơ sở dữ liệu bán hàng thực phẩm. Cần có hai tham số để tạo bảng tổng hợp. Cái đầu tiên là dữ liệu mà chúng tôi đã chuyển vào khung dữ liệu và cái còn lại là chỉ mục

Dữ liệu Pivot trên một chỉ mục

Chỉ mục là tính năng của bảng tổng hợp cho phép bạn nhóm dữ liệu của mình dựa trên các yêu cầu. Ở đây, chúng tôi đã lấy 'Sản phẩm' làm chỉ mục để tạo bảng tổng hợp cơ bản

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , index =["Product"]]
print[pivot_tble]

Kết quả sau đây hiển thị sau khi chạy mã nguồn trên

Xác định rõ ràng các cột

Để phân tích thêm dữ liệu của bạn, hãy xác định rõ ràng tên cột bằng chỉ mục. Ví dụ: chúng tôi muốn hiển thị Đơn giá duy nhất của từng sản phẩm trong kết quả. Với mục đích này, hãy thêm tham số giá trị vào bảng tổng hợp của bạn. Đoạn mã sau cho bạn kết quả tương tự

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , chỉ mục ='Product', values='UnitPrice']
print[pivot_tble]

Dữ liệu xoay vòng với nhiều chỉ mục

Dữ liệu có thể được nhóm lại dựa trên nhiều tính năng dưới dạng chỉ mục. Bằng cách sử dụng phương pháp đa chỉ số, bạn có thể nhận được kết quả cụ thể hơn để phân tích dữ liệu. Ví dụ: các sản phẩm thuộc các danh mục khác nhau. Như vậy, bạn có thể hiển thị chỉ số ‘Sản phẩm’ và ‘Danh mục’ với ‘Số lượng’ và ‘Đơn giá’ có sẵn của từng sản phẩm như sau

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , index =["Category","Product"],values=["UnitPrice", "Quantity"]]
print[pivot_tble]

Áp dụng hàm Aggregation trong Pivot table

Trong bảng tổng hợp, aggfunc có thể được áp dụng cho các giá trị tính năng khác nhau. Bảng kết quả là tóm tắt dữ liệu tính năng. Hàm tổng hợp áp dụng cho dữ liệu nhóm của bạn trong pivot_table. Theo mặc định hàm tổng hợp là np. bần tiện[]. Tuy nhiên, dựa trên yêu cầu của người dùng, các hàm tổng hợp khác nhau có thể áp dụng cho các tính năng dữ liệu khác nhau

Ví dụ

Chúng tôi đã áp dụng các hàm tổng hợp trong ví dụ này. các np. hàm sum[] được sử dụng cho tính năng 'Số lượng' và np. hàm mean[] cho tính năng ‘UnitPrice’

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , index . np. =["Category","Product"], aggfunc={'Quantity': np.tổng,'Đơn giá' . np. nghĩa}]
in[pivot_tble]

Sau khi áp dụng chức năng tổng hợp cho các tính năng khác nhau, bạn sẽ nhận được đầu ra sau

Sử dụng tham số giá trị, bạn cũng có thể áp dụng hàm tổng hợp cho một tính năng cụ thể. Nếu bạn không chỉ định giá trị của tính năng, nó sẽ tổng hợp các tính năng số của cơ sở dữ liệu của bạn. Bằng cách làm theo mã nguồn đã cho, bạn có thể áp dụng hàm tổng hợp cho một tính năng cụ thể

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , chỉ mục . =['Product'], values=['UnitPrice'], aggfunc=np.nghĩa]
in[ pivot_tble ]

Khác nhau giữa Giá trị so với. Các cột trong Pivot Table

Các giá trị và cột là điểm khó hiểu chính trong pivot_table. Điều quan trọng cần lưu ý là các cột là các trường tùy chọn, hiển thị các giá trị của bảng kết quả theo chiều ngang ở trên cùng. Hàm tổng hợp aggfunc áp dụng cho trường giá trị mà bạn liệt kê

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , index . =['Category','Product', 'City'],values=['UnitPrice', 'Quantity'],
               columns=['Region'],aggfunc=[np.tổng]]
in[pivot_tble]

Xử lý dữ liệu bị thiếu trong Pivot Table

Bạn cũng có thể xử lý các giá trị bị thiếu trong bảng Pivot bằng cách sử dụng Tham số 'fill_value'. Điều này cho phép bạn thay thế các giá trị NaN bằng một số giá trị mới mà bạn cung cấp để điền vào

Ví dụ: chúng tôi đã xóa tất cả các giá trị null khỏi bảng kết quả ở trên bằng cách chạy đoạn mã sau và thay thế các giá trị NaN bằng 0 trong toàn bộ bảng kết quả

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx']
pivot_tble = pd. pivot_table[ dataframe , index . =['Category','Product', 'City'],values=['UnitPrice', 'Quantity'],
               columns=['Region'],aggfunc=[np.sum], fill_value =0]
print[pivot_tble]

Lọc trong Pivot Table

Khi kết quả được tạo, bạn có thể áp dụng bộ lọc bằng cách sử dụng chức năng khung dữ liệu tiêu chuẩn. Hãy lấy một ví dụ. Lọc những sản phẩm có UnitPrice nhỏ hơn 60. Nó hiển thị những sản phẩm có giá dưới 60

nhập gấu trúc as pd
nhập numpy as np
dataframe = pd.read_excel['C. /Người dùng/DELL/Máy tính để bàn/dữ liệu bán hàng thực phẩm. xlsx', index_col =0]
pivot_tble=pd.pivot_table[ dataframe , chỉ mục ='Product', values='UnitPrice', aggfunc='sum']
low_price=pivot_tble[pivot_tble['UnitPrice']

Chủ Đề