Python có thể tạo bảng tổng hợp trong Excel không?

Bảng tổng hợp là một cách cần thiết để hiểu dữ liệu của bạn. Nhóm dữ liệu cho phép bạn xem các mẫu và truy xuất thông tin chi tiết mà nếu không bạn sẽ bỏ lỡ bằng cách xem tập dữ liệu thô. Tôi thấy bảng tổng hợp là hình thức trực quan hóa dữ liệu cơ bản nhất. Mặc dù không có màu sắc, hoạt ảnh hoặc đồ họa, nhưng các bảng tổng hợp có thể vẽ nên một bức tranh cực kỳ rõ ràng về dữ liệu của bạn và cho phép hiểu biết nhanh chóng, có thể chia sẻ. Tôi thường thấy rằng bảng tổng hợp sẽ truyền đạt phân tích của tôi hiệu quả hơn biểu đồ

Trong Excel, các bảng tổng hợp khá dễ định cấu hình — tất cả những gì bạn phải làm là chọn các hàng, cột và giá trị trong menu điểm và nhấp

Các bảng tổng hợp Python khó hơn. Hàm pivot_table có 11 đối số tiềm năng mà bạn có thể điền vào

Python có thể tạo bảng tổng hợp trong Excel không?

Nhận khóa học Python hoàn chỉnh miễn phí

Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị

dữ liệu. Khung dữ liệu, Tập dữ liệu có bảng tổng hợp sẽ được tạo
giá trị. Cột, Đối tượng địa lý có tóm tắt thống kê sẽ được xem
mục lục. Cột, Được sử dụng để lập chỉ mục tính năng được chuyển trong đối số giá trị
cột. Cột, Được sử dụng để tổng hợp các giá trị theo các tính năng nhất định
bool được quan sát, (mặc định Sai). Tham số này chỉ áp dụng cho các tính năng phân loại. Nếu nó được đặt thành 'True' thì bảng sẽ chỉ hiển thị các giá trị cho các nhóm phân loại

 

trả lại

DataFrame, Bảng tổng hợp kiểu Excel

 

Làm thế nào để tạo một bảng tổng hợp?

Sử dụng hàm

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
9 và chỉ định tính năng nào sẽ xuất hiện trong các hàng và cột bằng cách sử dụng các tham số
import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
0 và
import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
1 tương ứng. Tính năng nên được sử dụng để điền vào các giá trị ô phải được chỉ định trong tham số
import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
2

Hãy tạo một tập dữ liệu mẫu

import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df

Python có thể tạo bảng tổng hợp trong Excel không?

Sử dụng tham số

import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
3 và `values`

output = pd.pivot_table(data=df, 
                        index=['Type'], 
                        columns=['Department'], 
                        values='Salary',
                        aggfunc='mean')
output
Python có thể tạo bảng tổng hợp trong Excel không?

Ở đây, chúng tôi đã tạo một bảng tổng hợp cơ bản trong gấu trúc để hiển thị mức lương trung bình của từng loại nhân viên cho mỗi bộ phận. Vì không có tham số do người dùng xác định nào được chuyển, nên các đối số còn lại đã nhận các giá trị mặc định của chúng.

Chúng tôi cũng có thể tạo các bảng tổng hợp hiển thị nhiều giá trị thống kê cùng một lúc

Bảng tổng hợp với nhiều chức năng tổng hợp

Nếu thông số

import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
4 không được chỉ định, nó sẽ tổng hợp dựa trên thông số
import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
0

# Pivot table with multiple aggfuncs
output = pd.pivot_table(data=df, index=['Type'],
                        values='Salary',
                        aggfunc=['sum', 'mean', 'count'])
output
Python có thể tạo bảng tổng hợp trong Excel không?

Ở đây, bảng tổng hợp hiển thị tổng và giá trị trung bình của tiền lương của từng loại nhân viên và số lượng nhân viên của từng loại.

 

 

Làm cách nào để tính tổng cộng của hàng và cột trong pivot_table?

Bây giờ, chúng ta hãy xem tổng số tiền lương của từng loại nhân viên. Đối với điều này, chúng tôi sẽ sử dụng lề và tham số margins_name

# Calculate row and column totals (margins)
output = pd.pivot_table(data=df, index=['Type'],
                        values='Salary',
                        aggfunc=['sum', 'mean', 'count'],
                        margins=True,
                        margins_name='Grand Total')
output
Python có thể tạo bảng tổng hợp trong Excel không?

Làm cách nào để tổng hợp nhiều tính năng trong bảng tổng hợp?

Chúng tôi cũng có thể thực hiện các tập hợp khác nhau trên các tính năng khác nhau. Điều này giúp áp dụng các thao tác phù hợp trên các tính năng khác nhau mà không phải tạo nhiều bảng tổng hợp

# Aggregating for multiple features
output = pd.pivot_table(data=df, index='Type', values=['Salary', 'YoE'],
                        columns=['Department'],
                        aggfunc={'Salary': np.sum, 'YoE': np.mean})
output
Python có thể tạo bảng tổng hợp trong Excel không?

Thay thế các giá trị bị thiếu

Trong bảng cuối cùng của phần trước, chúng ta có thể thấy tổng lương mà nhân viên trong từng bộ phận nhận được và kinh nghiệm trung bình của nhân viên trong từng bộ phận

Tuy nhiên, có những NaN có trong bảng đó

Chúng ta có thể thay thế các NaN bằng một giá trị phù hợp bằng tham số fill_value. Trong trường hợp này, chúng tôi sẽ thay thế NaN bằng 'Không áp dụng'

# Replacing missing values
output = pd.pivot_table(data=df, index='Type', values=['Salary', 'YoE'],
                        columns=['Department'],
                        aggfunc={'Salary': np.sum, 'YoE': np.mean},
                        fill_value='Not applicable')

output

Python có thể tạo bảng tổng hợp trong Excel không?

Tham số fill_value có thể được sử dụng để thay thế NaN bằng bất kỳ giá trị phù hợp nào bao gồm giá trị trung bình, trung bình hoặc chế độ của các tính năng khác

Bảng tổng hợp chỉ mục đa cấp

Các bảng tổng hợp ở trên được tạo bằng cách sử dụng một chỉ mục cấp đơn i. e. , chỉ có một tính năng làm chỉ mục được sử dụng. Tuy nhiên, chúng ta cũng có thể sử dụng nhiều chỉ số để tạo bảng tổng hợp. Bảng tổng hợp chỉ mục đa cấp hiển thị chi tiết tóm tắt ở mức độ chi tiết cao hơn và chúng có thể rất hữu ích khi chúng ta xử lý dữ liệu phân cấp

# Passing Type and then Last Name as indices
output = pd.pivot_table(data=df, index=['Type', 'Last Name'],
                        values='Salary',
                        aggfunc=['sum', 'mean', 'count'],
                        margins=True,
                        margins_name='Grand Total')
output
Python có thể tạo bảng tổng hợp trong Excel không?

Mẹo thiết thực

Bảng Pivot có thể là một công cụ rất tiện dụng để phân tích dữ liệu. Dưới đây là một số mẹo có thể giúp bạn sử dụng bảng tổng hợp với tiềm năng tối đa của chúng

Tạo thông tin chi tiết. Bảng Pivot có thể cung cấp chế độ xem nhanh toàn bộ tập dữ liệu giúp giảm bớt quá trình suy luận những hiểu biết hữu ích và thực hiện các quan sát quan trọng trong tập dữ liệu

Đặt hàng các bảng tổng hợp chỉ mục đa cấp. Thứ tự các tính năng được chuyển dưới dạng chỉ mục cho bảng tổng hợp có thể ảnh hưởng đến các giá trị được hiển thị trong bảng

# Passing Last Name and then Type as indices
output = pd.pivot_table(data=df, index=['Last Name', 'Type'],
                        values='Salary',
                        aggfunc=['sum', 'mean', 'count'],
                        margins=True,
                        margins_name='Grand Total')
output
Python có thể tạo bảng tổng hợp trong Excel không?
Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
0
Python có thể tạo bảng tổng hợp trong Excel không?

chức năng GroupBy

Các bảng tổng hợp tương tự như phương pháp gấu trúc

import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
6 cũng được sử dụng để xem các đặc điểm thống kê của một đối tượng trong tập dữ liệu

Tuy nhiên, cần lưu ý rằng đối tượng được trả về bởi hàm

import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
7 là một đối tượng
import pandas as pd
import numpy as np

df = pd.DataFrame({'First Name': ['Aryan', 'Rohan', 'Riya', 'Yash', 'Siddhant', ],
                   'Last Name': ['Singh', 'Agarwal', 'Shah', 'Bhatia', 'Khanna'],
                   'Type': ['Full-time Employee', 'Intern', 'Full-time Employee', 
                            'Part-time Employee', 'Full-time Employee'],
                   'Department': ['Administration', 'Technical', 'Administration', 
                                  'Technical', 'Management'],
                   'YoE': [2, 3, 5, 7, 6],
                   'Salary': [20000, 5000, 10000, 10000, 20000]})

df
8 thay vì một khung dữ liệu. Do đó, các hoạt động khung dữ liệu thông thường sẽ không hoạt động trên đối tượng này

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
1
Python có thể tạo bảng tổng hợp trong Excel không?
Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
2
Python có thể tạo bảng tổng hợp trong Excel không?

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
3
Python có thể tạo bảng tổng hợp trong Excel không?

Kết luận

Chúng tôi đã thấy cách tạo bảng tổng hợp của khung dữ liệu gấu trúc và cách định cấu hình các tham số của nó để xem chi tiết thống kê ở các mức độ chi tiết khác nhau

Kiểm tra kiến ​​thức của bạn

Q1. Trong bảng tổng hợp nhiều chỉ mục, thứ tự các chỉ số được chuyển không thành vấn đề. Đúng hay sai?

Trả lời

Sai. Bởi vì, các giá trị được hiển thị trong bảng tổng hợp thay đổi tùy thuộc vào thứ tự của các chỉ số được truyền

quý 2. Tham số nào được sử dụng để thay đổi phương thức tổng hợp trong bảng tổng hợp?

Trả lời

aggfunc

Q3. Làm cách nào chúng tôi có thể xem các tập hợp khác nhau trên các tính năng khác nhau trong cùng một bảng tổng hợp?

Trả lời

Chuyển tên tính năng và thao tác tổng hợp sẽ được thực hiện dưới dạng các cặp khóa-giá trị tương ứng trong từ điển cho hàm aggfunc. Ngoài ra, tên tính năng cũng phải được chuyển đến tham số giá trị

Q4. Trả lời các câu hỏi sau bằng tập dữ liệu đã cho

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
4
Python có thể tạo bảng tổng hợp trong Excel không?
Tập dữ liệu

Q4. 1. Số năm kinh nghiệm trung bình của mỗi loại nhân viên trong mỗi bộ phận là bao nhiêu?

Trả lời

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
5
Python có thể tạo bảng tổng hợp trong Excel không?

Q4. 2. Tạo một bảng tổng hợp hiển thị mức lương trung bình cũng như số lượng nhân viên ở các bộ phận khác nhau. Họ nên được lập chỉ mục theo loại việc làm

Trả lời

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
6
Python có thể tạo bảng tổng hợp trong Excel không?

Q4. 3. Lập bảng tổng hợp thể hiện mức lương trung bình của từng loại nhân viên trong từng bộ phận và tổng số năm kinh nghiệm (YoE) của từng nhân viên trong từng bộ phận

Trả lời

Create a spreadsheet-style pivot table as a DataFrame. The levels in the pivot table of pandas will be stored in MultiIndex objects (hierarchical indexes) on the index and columns of the result DataFrame
7
Python có thể tạo bảng tổng hợp trong Excel không?

Bài viết này được đóng góp bởi Shreyansh

MáyHọcPlus

Machine Learning Plus được tạo thành từ một nhóm những người nhiệt tình đam mê Khoa học dữ liệu. Họ giúp các Nhà phát triển, Nhà quản lý doanh nghiệp và Nhà khoa học dữ liệu tuyệt vời trở nên giỏi hơn trong công việc của họ

TrướcBài trướcMã thông báo trong Xử lý ngôn ngữ tự nhiên (NLP) là gì?

Bài viết tiếp theoSê-ri PandasTiếp theo

Python có thể tạo bảng tổng hợp trong Excel không?

Chương trình Nhà khoa học Dữ liệu Công nghiệp ML Plus với Đảm bảo Việc làm

  • Con đường học tập từ đầu đến cuối
  • Chương trình giảng dạy được ngành phê duyệt
  • Làm việc trên dữ liệu thực từ các công ty
  • Nhận vị trí hoặc nhận tiền hoàn lại
  • Hỗ trợ 24x7

Biêt nhiêu hơn

báo cáo quảng cáo này Bài đăng có liên quan

  • Trình trang trí trong Python – Làm cách nào để tăng cường các chức năng mà không cần thay đổi mã?
  • Trình tạo trong Python – Làm cách nào để chỉ trả về giá trị một cách lười biếng khi cần và tiết kiệm bộ nhớ?
  • Iterators trong Python – Iterators và Iterables là gì?
  • Mô-đun Python – Mô-đun và gói trong python là gì?
  • Lập trình hướng đối tượng (OOPS) trong Python
  • Cách tạo môi trường ảo conda
  • Cách sử dụng Hàm ngẫu nhiên Numpy trong Python
  • cProfile – Cách cấu hình mã python của bạn
  • Hướng dẫn Dask – Cách xử lý dữ liệu lớn trong Python
  • Định hình lại Numpy – Cách định hình lại mảng và -1 có nghĩa là gì?
  • Modin – Cách tăng tốc gấu trúc
  • Khóa thông dịch viên toàn cầu Python – (GIL) làm gì?
  • Năng suất Python - Từ khóa năng suất làm gì?
  • Hàm Lambda trong Python – Sử dụng như thế nào và khi nào?
  • Tối ưu hóa danh mục đầu tư của nhà đầu tư với Python
  • datetime trong Python – Hướng dẫn đơn giản hóa với các ví dụ rõ ràng
  • Bộ sưu tập Python – Hướng dẫn đầy đủ
  • pdb – Cách sử dụng trình gỡ lỗi Python
  • JSON của Python – Hướng dẫn
  • Làm thế nào để sử dụng tf. chức năng tăng tốc mã Python trong Tensorflow
  • Liệt kê các cách hiểu trong Python – Hướng dẫn đơn giản hóa của tôi
  • Khoảng cách Mahalanobis – Hiểu toán học với các ví dụ (trăn)
  • Xử lý song song trong Python – Hướng dẫn thực hành với các ví dụ
  • Giải thích về Python @Property – Cách sử dụng và khi nào?
  • Ghi nhật ký Python – Hướng dẫn đơn giản nhất với đầy đủ mã và ví dụ
  • Hướng dẫn và ví dụ về biểu thức chính quy Python. Hướng dẫn đơn giản hóa
  • Yêu cầu trong Hướng dẫn Python – Làm cách nào để gửi yêu cầu HTTP bằng Python?
  • Thuật toán ủ mô phỏng được giải thích từ đầu
  • Thiết lập môi trường Python cho ML

Giới thiệu đầy đủ về hồi quy tuyến tính trong R

Làm cách nào để thực hiện các bài kiểm tra ý nghĩa thống kê phổ biến và tìm giá trị p?

Hồi quy logistic - Hướng dẫn hoàn chỉnh với các ví dụ trong R

Số liệu đánh giá cho các mô hình phân loại – Làm cách nào để đo lường hiệu suất của các mô hình học máy?

Hướng dẫn và ví dụ về biểu thức chính quy Python. Hướng dẫn đơn giản hóa

Python có thể tạo bảng tổng hợp trong Excel không?
báo cáo quảng cáo này

Python có thể tạo bảng tổng hợp trong Excel không?

Khóa học phát hiện phần mềm độc hại của Microsoft

Tìm hiểu cách giải quyết một dự án khoa học dữ liệu thực tế với khóa học Phát hiện phần mềm độc hại của Microsoft Tìm hiểu thêm

Bạn có thể tạo bảng tổng hợp bằng Python không?

Các bước để tạo Pivot Table trong Python bằng Pandas. Trước tiên, bạn cần thu thập dữ liệu bằng Python . Khi bạn đã sẵn sàng DataFrame, bạn sẽ có thể xoay vòng dữ liệu của mình.

Làm cách nào để tạo bảng tổng hợp trong Excel bằng Python openpyxl?

Tôi khuyên bạn nên tạo mẫu. sổ làm việc xlsx có dữ liệu thô trên một trang tính và bảng tổng hợp của bạn trên một trang tính khác . Trong tùy chọn trục của Excel, bạn kích hoạt làm mới dữ liệu khi mở tệp. Sau đó, bạn sử dụng openpyxl để. Tải mẫu này, cập nhật dữ liệu thô và lưu nó ở đâu đó.

Bảng tổng hợp hoạt động như thế nào trong Python?

Bảng tổng hợp lấy dữ liệu theo cột đơn giản làm đầu vào và nhóm các mục vào một bảng hai chiều cung cấp tóm tắt dữ liệu đa chiều.

Bạn có thể tích hợp Python với Excel không?

Sử dụng Python trong Excel với PyXLL . Sử dụng Microsoft Excel làm giao diện người dùng thân thiện với mã Python của bạn. Không có VBA, chỉ có Python. PyXLL is an Excel add-in that enables you to run Python in Excel. Use Microsoft Excel as a user friendly front-end to your Python code. No VBA, just Python!