df = pd. Khung dữ liệu [{'foo'. ['một', 'một', 'một', 'hai', 'hai','hai'],
'quán ba'. ['A', 'B', 'C', 'A', 'B', 'C'],
'baz'. [1, 2, 3, 4, 5, 6],
'vườn bách thú'. ['x', 'y', 'z', 'q', 'w', 't']}]
print["Khung dữ liệu gốc"]
in [df. trục [chỉ mục = 'foo', cột = 'thanh', giá trị = 'baz']]
Thư viện pandas là gói Python phổ biến để phân tích dữ liệu. Khi lần đầu làm việc với tập dữ liệu trong pandas, cấu trúc sẽ là hai chiều, bao gồm các hàng và cột, còn được gọi là DataFrame. Một phần quan trọng của phân tích dữ liệu là quá trình nhóm, tóm tắt, tổng hợp và tính toán số liệu thống kê về dữ liệu này. Các bảng tổng hợp của Pandas cung cấp một công cụ mạnh mẽ để thực hiện các kỹ thuật phân tích này với PythonTạo Bảng Pivot Pandas của riêng bạn trong 4 bước
- Tải xuống hoặc nhập dữ liệu mà bạn muốn sử dụng
- Trong hàm pivot_table, hãy chỉ định Khung dữ liệu bạn đang tóm tắt, cùng với tên cho các chỉ mục, cột và giá trị
- Chỉ định loại tính toán bạn muốn sử dụng, chẳng hạn như giá trị trung bình.
- Sử dụng nhiều chỉ mục và nhóm cấp độ cột để tạo bản tóm tắt dữ liệu mạnh mẽ hơn.
Nếu bạn là người dùng bảng tính thì có thể bạn đã quen thuộc với khái niệm bảng tổng hợp. Các bảng tổng hợp của gấu trúc hoạt động theo cách rất giống với các bảng được tìm thấy trong các công cụ bảng tính như Microsoft Excel. Hàm bảng tổng hợp lấy khung dữ liệu và các tham số mô tả chi tiết hình dạng bạn muốn dữ liệu lấy. Sau đó, nó xuất dữ liệu tóm tắt dưới dạng bảng tổng hợp
Tôi sẽ giới thiệu ngắn gọn với các ví dụ về mã cho công cụ bảng tổng hợp pandas. Sau đó, tôi sẽ sử dụng tập dữ liệu có tên là “ô tô”, tập hợp này chứa nhiều đặc điểm về ô tô, chẳng hạn như kiểu dáng, giá cả, mã lực và dặm trên mỗi gallon.
Bạn có thể tải xuống dữ liệu từ OpenML hoặc mã có thể được nhập trực tiếp vào mã của bạn bằng API scikit-learning như minh họa bên dưới.
import pandas as pd
import numpy as np
from sklearn.datasets import fetch_openml
X,y = fetch_openml["autos", version=1, as_frame=True, return_X_y=True]
data = X
data['target'] = y
Cách tạo Bảng Pivot Pandas
Bảng tổng hợp gấu trúc có ba yếu tố chính
- Mục lục. Điều này chỉ định nhóm cấp hàng
- Cột. Điều này chỉ định nhóm cấp độ cột.
- giá trị. Đây là những giá trị số bạn đang tìm kiếm để tóm tắt
Mã được sử dụng để tạo bảng tổng hợp có thể được nhìn thấy bên dưới. Trong hàm ______11 , chúng tôi chỉ định Khung dữ liệu mà chúng tôi đang tóm tắt, sau đó là tên cột cho các giá trị, chỉ mục và cột. Ngoài ra, chúng tôi chỉ định loại tính toán mà chúng tôi muốn sử dụng. Trong trường hợp này, chúng tôi đang tính toán giá trị trung bình.
pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
Bảng Pivot có thể đa cấp. Chúng tôi có thể sử dụng nhiều chỉ mục và nhóm cấp độ cột để tạo các bản tóm tắt mạnh mẽ hơn về tập dữ liệu
pivot = np.round[pd.pivot_table[data, values='price',
index=['num-of-doors', 'body-style'],
columns=['fuel-type', 'fuel-system'],
aggfunc=np.mean,
fill_value=0],2]
pivot
Thông tin thêm về Pandas Sắp xếp khung dữ liệu trong Pandas. Hướng dẫn thực hành
Cách vẽ đồ thị với Pandas Pivot Table
Các bảng tổng hợp của gấu trúc có thể được sử dụng cùng với chức năng vẽ biểu đồ của gấu trúc để tạo trực quan hóa dữ liệu hữu ích
Chỉ cần thêm
pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
2 vào cuối mã bảng tổng hợp của bạn sẽ tạo ra một biểu đồ dữ liệu. Ví dụ: đoạn mã dưới đây tạo biểu đồ thanh hiển thị giá ô tô trung bình theo nhãn hiệu và số lượng cửa. np.round[pd.pivot_table[data, values='price',
index=['make'],
columns=['num-of-doors'],
aggfunc=np.mean,
fill_value=0],2].plot.barh[figsize=[10,7],
title='Mean car price by make and number of doors']
Cách tính toán với Pandas Pivot Table
Đối số
pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
0 trong hàm bảng tổng hợp có thể thực hiện một hoặc nhiều phép tính tiêu chuẩn. Đoạn mã sau tính giá trung bình và giá trung bình cho kiểu dáng thân xe và số lượng cửa
np.round[pd.pivot_table[data, values='price',
index=['body-style'],
columns=['num-of-doors'],
aggfunc=[np.mean, np.median],
fill_value=0],2]
Bạn có thể thêm đối số
pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
1 để thêm tổng vào cột và hàng. Bạn cũng có thể chỉ định tên cho tổng số bằng cách sử dụng pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
2 . np.round[pd.pivot_table[data, values='price',
index=['body-style'],
columns=['num-of-doors'],
aggfunc=[np.sum],
fill_value=0,
margins=True, margins_name='Total'],2]
Cách tạo kiểu cho Pandas Pivot Table của bạn
Khi tóm tắt dữ liệu, kiểu dáng rất quan trọng. Chúng tôi muốn đảm bảo rằng các mẫu và thông tin chi tiết mà bảng tổng hợp cung cấp phải dễ đọc và dễ hiểu. Trong các bảng tổng hợp được sử dụng trong các phần trước của bài viết, rất ít kiểu dáng đã được áp dụng. Kết quả là các bảng không dễ hiểu hoặc không hấp dẫn về mặt hình ảnh
Chúng ta có thể sử dụng một phương thức Pandas khác, được gọi là phương thức kiểu để làm cho các bảng trông đẹp hơn và dễ dàng rút ra thông tin chi tiết hơn từ. Mã bên dưới thêm định dạng và đơn vị đo lường phù hợp cho từng giá trị được sử dụng trong bảng tổng hợp này. Giờ đây, việc phân biệt giữa hai cột và hiểu những gì dữ liệu đang cho bạn biết trở nên dễ dàng hơn nhiều
pivot = np.round[pd.pivot_table[data, values=['price', 'horsepower'],
index=['make'],
aggfunc=np.mean,
fill_value=0],2]
pivot.style.format[{'price':'${0:,.0f}',
'horsepower':'{0:,.0f}hp'}]
Chúng tôi có thể kết hợp các định dạng khác nhau bằng cách sử dụng trình tạo kiểu và sử dụng các kiểu tích hợp sẵn của gấu trúc để tóm tắt dữ liệu theo cách giúp rút ra thông tin chuyên sâu ngay lập tức. Trong mã và bảng tổng hợp được hiển thị bên dưới, chúng tôi đã sắp xếp thứ tự kiểu dáng của ô tô theo giá từ cao đến thấp, thêm định dạng phù hợp cho các số và thêm biểu đồ thanh chồng lên các giá trị trong cả hai cột. Điều này giúp bạn dễ dàng đưa ra kết luận từ bảng hơn, chẳng hạn như hãng xe nào đắt nhất và mã lực liên quan như thế nào đến giá của mỗi hãng xe.
pivot = np.round[pd.pivot_table[data, values='price',
index='num-of-doors',
columns='fuel-type',
aggfunc=np.mean],2]
pivot
0Thông tin thêm về Pandas Hướng dẫn dành cho người mới bắt đầu sử dụng Pandas để sắp xếp dữ liệu văn bản với Python
Ưu điểm của Pandas Pivot Table
Bảng tổng hợp đã được sử dụng từ đầu những năm 90 với việc Microsoft cấp bằng sáng chế cho phiên bản Excel nổi tiếng được gọi là “PivotTable” vào năm 1994. Ngày nay chúng vẫn được sử dụng rộng rãi vì chúng là một công cụ mạnh mẽ để phân tích dữ liệu. Bảng tổng hợp Pandas đưa công cụ này ra khỏi bảng tính và đến tay người dùng Python
Hướng dẫn này đã giới thiệu ngắn gọn về cách sử dụng công cụ bảng tổng hợp trong Pandas. Nó nhằm cung cấp cho người mới bắt đầu một hướng dẫn nhanh để thiết lập và chạy với công cụ nhưng tôi khuyên bạn nên tìm hiểu sâu về
Chúng ta có thể tạo trục trong Python không?
Làm cách nào để xoay vòng bằng gấu trúc?