一、Clusterby概述
Clusterby是Pandas庫中一個非常常用的函數,它可以根據指定的列對數據進行分組,將同一組數據聚集在一起。同時,我們可以對聚合分組進行必要的計算,例如求和、平均值等等。
在數據分析領域,Clusterby是必備技能之一。通過Clusterby的分組聚合能夠更好地分析我們所研究的數據,挖掘出更多有用的信息。下面,我們將從多個方面對Clusterby進行詳細介紹。
二、Clusterby的調用方式及參數解析
1、調用方式
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby('column1')
2、參數解析
主要參數包括:
①by:根據哪些列進行分組。
②sort:是否對結果排序,默認為True。
③as_index:是否以分組列作為索引列,默認為True。
④group_keys:是否在結果中添加分組鍵作為前綴,默認為True。
⑤aggfunc:對分組結果進行計算的函數,例如求和、平均值等等。
三、Clusterby實例應用
1、根據某一列進行分組
在實際應用中,我們常常需要根據某一列進行分組,例如以下代碼:
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby('column1') result = grouped.sum()
上述代碼中,我們根據column1這一列對數據進行了分組,並對分組結果進行了求和計算。其中,sum()函數是聚合函數之一,用於對分組結果進行求和計算。
2、同時根據多列進行分組
有時,我們需要同時根據多列進行分組,例如以下代碼:
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby(['column1', 'column2']) result = grouped.mean()
上述代碼中,我們根據column1和column2這兩列對數據進行了分組,並對分組結果進行了求均值計算。其中,mean()函數是聚合函數之一,用於對分組結果進行求均值計算。
3、對分組結果進行排序
在分組計算完畢後,我們還可以對分組結果進行排序。例如以下代碼:
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby('column1') result = grouped.sum().sort_values('column2', ascending=False)
上述代碼中,我們根據column2這一列對分組結果進行降序排序。
4、自定義聚合函數
有時,我們需要對分組結果進行自定義的聚合計算,此時可以使用apply()函數自定義聚合函數。例如以下代碼:
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby('column1') result = grouped.apply(lambda x: x['column2'].max() - x['column2'].min())
上述代碼中,我們定義了一個自定義聚合函數,用於計算column2這一列的最大值和最小值之差。其中,lambda x: x[‘column2’].max() – x[‘column2’].min()表示一個匿名函數,計算x數據框中column2這一列的最大值和最小值之差。
5、同時使用多個聚合函數
有時,我們需要同時使用多個聚合函數對分組結果進行計算。此時,可以使用agg()函數配合多個聚合函數進行計算。例如以下代碼:
import pandas as pd df = pd.read_csv('data.csv') grouped = df.groupby('column1') result = grouped['column2'].agg([sum, max, min])
上述代碼中,我們計算了column2這一列的總和、最大值、最小值。其中,agg()函數中sum、max、min為聚合函數,用於計算總和、最大值、最小值。
原創文章,作者:ODLG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148536.html