Bảng Pivot là một công cụ tinh tế để tính toán, xem xét kỹ lưỡng và mô phỏng một lượng lớn dữ liệu bằng phương pháp hàm tổng hợp. Các hàm tổng hợp này bao gồm tổng, trung bình, đếm và thống kê. Nó giúp đóng gói một hoặc nhiều biến số dựa trên các biến phân loại. Bảng Pivot là công cụ phân tích dữ liệu phổ biến vì chúng là cách tốt nhất để tóm tắt dữ liệu và có mức độ hiểu biết cao về dữ liệu giúp phân tích sâu hơn các giải pháp. Để tìm hiểu cách triển khai thực tế, chúng tôi sẽ lấy dữ liệu ngẫu nhiên và thực hiện các thử nghiệm với python và vì vậy chúng tôi sẽ cố gắng tìm hiểu khái niệm này từ đầu. Những điểm chính sẽ được đề cập trong bài viết này được liệt kê dưới đây
Mục lục
- Giới thiệu về gấu trúc. pivot_table[]
- Tạo bảng tổng hợp
- Sử dụng nhiều chức năng tổng hợp
- Tổng hợp cho nhiều tính năng và tính năng cụ thể
- Tính tổng hàng và cột
- Bảng tổng hợp chỉ mục đa cấp
- Sự khác biệt giữa bảng tổng hợp và nhóm theo
Giới thiệu về gấu trúc. pivot_table[]
Để tạo bảng tổng hợp kiểu bảng tính dưới dạng khung dữ liệu trong python, chúng tôi sử dụng pandas. hàm pivot_table[].
cú pháp
TUYỆT VỜI
Đăng ký hàng tuần của bạn về những gì đang xảy ra trong công nghệ mới nổi
Đăng ký
pandas.pivot_table[data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True]
Thông số
dữ liệu. khung dữ liệu [Xác định tập dữ liệu sẽ được sử dụng cho bảng tổng hợp. ]
giá trị. cột để tổng hợp [ Tính năng sẽ được nhìn thấy trong bản tóm tắt thống kê của nó. ]
mục lục. cột [Lập chỉ mục giá trị được truyền trong đối số giá trị]
cột. cột [Để tổng hợp các giá trị dựa trên các tính năng nhất định]
aggfunc. hàm hoặc danh sách các hàm [ Hàm tổng hợp như tổng, nghĩa, v.v.]
fill_value. vô hướng [ Giá trị để thay thế các giá trị còn thiếu trong bảng ]
lề. bool [ Thêm tất cả hàng/cột [ e. g. cho tổng phụ/tổng lớn] ]
trả lại
Khung dữ liệu trong bảng tổng hợp kiểu excel
Tạo bảng tổng hợp
Bằng cách chỉ định các tham số chỉ mục và cột trong pd. pivot_table[], bạn có thể xác định tính năng nào sẽ xuất hiện trong cột và hàng. Trong tham số giá trị, bạn nên chỉ định tính năng nào sẽ được sử dụng để điền vào các giá trị ô
Nhập thư viện để sử dụng
import pandas as pd
import numpy as np
Tạo tập dữ liệu mẫu
df = pd.DataFrame[{'Name': ['Minecraft', 'Grand Theft Auto V', 'Tetris [EA]', 'Wii Sports', 'PUBG: Battlegrounds', ], 'Genre': ['Survival,Sandbox', 'Action-adventure', 'Puzzle', 'Sports simulation', 'Battle royale'], 'Platform': ['Multi-platform', 'Multi-platform', 'Multi-platform', 'Wii', 'PC'], 'Publishers': ['Xbox Game Studios', 'Rockstar Games', 'Electronic Arts', 'Nintendo', 'PUBG Corporation'], 'Total_Year': [9, 7, 14, 10, 5], 'Sales': [238, 160, 100, 82, 75]}] df
Khung dữ liệu này cho biết về 5 trò chơi điện tử bán chạy nhất cho đến nay trên toàn thế giới. Doanh số tính bằng triệu USD.
Tạo bảng tổng hợp bằng gấu trúc
table = pd.pivot_table[ data=df, index=['Platform'], columns=['Publishers'], values='Sales', aggfunc='mean'] table
Chỉ định dữ liệu là tên của khung dữ liệu được tạo 'df', lập chỉ mục là 'nền tảng' vì nhu cầu xem doanh số bán hàng theo các nền tảng khác nhau và giá trị là 'doanh số' và aggfunc là 'trung bình' để xem doanh số bán hàng trung bình trên các nền tảng khác nhau
Ở đây chúng tôi đã tạo một bảng tổng hợp hiển thị doanh số bán hàng trung bình trên các nền tảng khác nhau. Sẽ có các giá trị Nan vì vậy đừng lo lắng về điều đó, chúng ta sẽ xem thêm trong bài viết cách xử lý các giá trị bị thiếu
Sử dụng nhiều chức năng tổng hợp
Nếu thông số cột không được chỉ định, nó sẽ tổng hợp dựa trên chỉ số. Vì vậy, hãy không chỉ định tham số cột và xem những thay đổi nào xảy ra trong bảng tổng hợp của chúng tôi
table = pd.pivot_table[data=df, index=['Platform'], values='Sales', aggfunc=['sum', 'mean', 'count']] table
Ở đây chúng ta có thể quan sát thấy rằng tham số cột không được chỉ định và một danh sách các hàm tổng hợp khác nhau được chuyển vào tham số aggfunc
Như đã phân tích ở trên, nếu không chỉ định tham số cột thì hàm tự tổng hợp trên tham số chỉ số
Tổng hợp cho nhiều tính năng và tính năng cụ thể
Ngoài ra, chúng tôi có thể thực hiện các tập hợp khác nhau dựa trên các tính năng khác nhau. Kết quả là không cần tạo nhiều bảng tổng hợp để áp dụng các thao tác thích hợp cho các tính năng khác nhau
table = pd.pivot_table[data=df, index='Platform', values=['Sales', 'Total_Year'], columns=['Publishers'], aggfunc={'Sales': np.sum, 'Total_Year': np.mean}] table
Chúng tôi có thể chỉ định tập hợp khác nhau trên các tính năng cụ thể hoặc cùng chức năng tổng hợp trên nhiều tính năng khác nhau theo bất kỳ cách nào bạn muốn đầu ra của mình.
Bên trái trong cột 'bán hàng' np. tổng được áp dụng sẽ trả về tổng được tổng hợp của dữ liệu và ở bên phải cột 'Total_year' np. giá trị trung bình được áp dụng sẽ trả về giá trị trung bình của tính năng được chỉ định trong tham số giá trị.
Thay thế các giá trị còn thiếu
Trong khung dữ liệu, có rất nhiều giá trị bị thiếu có thể được xử lý bằng cách điền các giá trị đó bằng cách chỉ định giá trị trong tham số fill_value
table = pd.pivot_table[data=df, index='Platform', values=['Sales', 'Total_Year'], columns=['Publishers'], aggfunc={'Sales': np.sum, 'Total_Year': np.mean}, fill_value='N/A'] table
Do đó, tất cả các giá trị còn thiếu đều được điền bằng 'N/A' như được chỉ định trong thông số fill_value.
Tính tổng hàng và cột
Tiếp theo, hãy kiểm tra tổng doanh số của từng danh mục của nền tảng. Để làm điều này, chúng ta sẽ sử dụng các tham số margins và margins_name
table = pd.pivot_table[data=df, index=['Platform'], values='Sales', aggfunc=['sum', 'mean', 'count'], margins=True, margins_name='Grand Total'] table
Chúng ta có thể quan sát thấy trong đầu ra đó rằng một chỉ mục mới được thêm vào dưới dạng tổng chứa tổng doanh số cho các hàm tổng hợp khác nhau được áp dụng trên cột doanh số.
Bảng tổng hợp chỉ mục đa cấp
Dựa trên các bảng tổng hợp ở trên, chỉ có một tính năng được sử dụng trong chỉ mục, tôi. e. , một chỉ mục cấp đơn. Tuy nhiên, chúng ta có thể tạo các bảng tổng hợp bằng nhiều chỉ số. Bất cứ khi nào dữ liệu được tổ chức theo thứ bậc, bảng tổng hợp với các chỉ mục đa cấp có thể cung cấp thông tin tóm tắt rất hữu ích và chi tiết
table = pd.pivot_table[data=df, index=['Platform', 'Genre'], values='Sales', aggfunc=['sum', 'mean', 'count'], margins=True, margins_name='Grand Total'] table
Đề cập đến đầu ra, có hai chỉ mục [chỉ mục đa cấp] giải thích rằng trong đa nền tảng có ba thể loại và tổng doanh thu của chúng, ý nghĩa và số lượng . Thứ tự các chỉ mục được thông qua là quan trọng và đầu ra sẽ thay đổi tương ứng.
Sự khác biệt giữa. pivot_table[] và. theo nhóm []
Sự khác biệt chính giữa gấu trúc. pivot_table[] và gấu trúc. khung dữ liệu. theo nhóm []
là kết quả trong bảng tổng hợp, kết quả ở dạng khung dữ liệu trong khi ở nhóm theo kết quả ở dạng khung dữ liệu. theo nhóm. Sự khác biệt trong đầu ra được hiển thị dưới đây
Đây là cách một Bảng tổng hợp được mã hóa trong python
import pandas as pd0
Đây là cách một nhóm được thực hiện trong python
import pandas as pd1
Bây giờ hãy xem đầu ra kết quả
Đầu ra cho bảng tổng hợp có thể được in bằng cách gọi tên của khung dữ liệu mà nó được lưu trữ và loại dữ liệu là DataFrame
Đầu ra cho groupby có thể được in bằng cách sử dụng. hàm get_group[‘tên nhóm’]. Nó chỉ in nhóm mà họ đã thành lập.
Sự kết luận
Với sự trợ giúp của bài viết này, chúng ta đã tìm hiểu về bảng tổng hợp và cách tạo bảng tổng hợp kiểu bảng tính trong python bằng cách sử dụng gấu trúc. Chúng ta cũng có thể hiểu cách sử dụng các tham số của hàm bảng tổng hợp để có được đầu ra mong muốn. Cùng với những điều này, chúng tôi cũng đã tìm hiểu sự khác biệt cốt lõi giữa bảng nhóm và bảng tổng hợp và nơi sử dụng chúng
Người giới thiệu
- Liên kết cho mã trên
- Tài liệu bảng tổng hợp Pandas
- Nhóm gấu trúc theo tài liệu
Nhiều câu chuyện AIM tuyệt vời hơn
Tại sao chúng tôi ngừng xây dựng ngôn ngữ lập trình mới
Lịch sử đen tối đằng sau thành công của Github Copilot
Bất chấp suy thoái kinh tế sắp xảy ra, túi TCS đạt doanh số kỷ lục tại Vương quốc Anh
Máy dạy học để học
Javascript dành cho người ghét. Các nhà phát triển có thể ghét nó nhưng không thể bỏ qua nó
Sourabh đã làm việc toàn thời gian với tư cách là nhà khoa học dữ liệu cho một tổ chức ISP, có kinh nghiệm phân tích các mẫu và triển khai chúng trong phát triển sản phẩm. Anh ấy rất quan tâm đến việc phát triển các giải pháp cho các vấn đề thời gian thực với sự trợ giúp của dữ liệu cả trong vũ trụ này và siêu dữ liệu