一、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/n/148536.html