引言
數據透視表是數據分析中非常重要的一種工具,可以幫助人們快速地對數據進行匯總和分析,並更好地了解數據背後的規律和趨勢。在Python中,我們可以使用pivot函數輕鬆實現數據透視表的生成和操作。本文將詳細介紹pivot函數的使用方法,並展示實際案例中如何使用pivot函數快速生成數據透視表。
使用Pivot函數生成數據透視表
什麼是Pivot函數
在Python中,Pivot函數是一種用於操作數據透視表的函數,它的使用方法相對簡單,可以方便地轉換數據並生成數據透視表。
Pivot函數的用法
Pivot函數的基本語法如下所示:
df.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')
其中,參數意義如下:
- values: 需要聚合的列(或者多個列)的名稱
- index: 行索引,即想要分組的列的名稱
- columns: 列索引,即想要將數據聚合到的列的名稱
- aggfunc: 聚合函數,統計匯總方式,默認為均值(mean)
- fill_value: 缺失值填充為指定的值
- margins: 是否添加行/列總計,默認為False
- dropna: 是否刪除空值行
- margins_name: 索引名稱
使用Pivot函數生成數據透視表的步驟
使用Pivot函數生成數據透視表主要包括以下幾個步驟:
- 選擇需要參與數據透視表計算的列
- 篩選出所有需要進行分組的列
- 按照需要分組的列進行分組
- 使用pivot函數對數據進行透視操作
實際案例演示
在本節中,我們將通過一個實際的例子演示如何使用pivot函數實現數據透視表的快速生成。數據集為一個關於全球航班延誤情況的數據集,數據的每一行表示一個特定的航班,包括航班的起飛和降落時間、起飛和降落的機場、航班狀態等信息。
讀取數據集
首先我們需要讀取數據集並將其存儲為一個數據框:
import pandas as pd
data = pd.read_csv('flights.csv', encoding='utf-8')
選擇需要參與計算的列
根據需要生成的數據透視表的結構,我們需要選擇需要參與計算的列。
table = data[['YEAR', 'MONTH', 'CARRIER_NAME', 'DEP_DELAY_NEW', 'ARR_DELAY_NEW']]
按照需要分組的列進行分組
接下來,我們需要將表格按照需要進行分組。在本例中,我們需要按照年份、月份、航空公司名稱進行分組。
table = table.groupby(['YEAR', 'MONTH', 'CARRIER_NAME']).sum().reset_index()
在上面的代碼中,我們使用了sum函數對每個分組中的DEP_DELAY_NEW和ARR_DELAY_NEW進行求和。
使用Pivot函數生成數據透視表
接下來,我們使用pivot函數對數據進行透視,並將結果存儲在一個新的數據框中。在本例中,我們需要將行索引設置為年份和月份,列索引設置為航空公司名稱,最終將DELAY_NEW列數據的均值存儲在新的數據框中。
pivoted = table.pivot_table(values='DEP_DELAY_NEW', index=['YEAR', 'MONTH'], columns='CARRIER_NAME', aggfunc='mean')
總結
本文詳細介紹了使用pivot函數實現數據透視表的生成和操作。我們先了解了Pivot函數的語法和使用方法,然後演示了一個實際的案例,通過幾個簡單的步驟使用Pivot函數生成了一個航班延誤情況的數據透視表。希望本文能夠對您學習Python數據分析帶來一定的幫助,如果您對本文還有任何疑問或建議,歡迎在評論區留言。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/289098.html