用Pandas进行分组和聚合

您所在的位置:网站首页 pandas分类聚合 用Pandas进行分组和聚合

用Pandas进行分组和聚合

2023-11-12 16:10| 来源: 网络整理| 查看: 265

用Pandas进行分组和聚合

在这篇文章中,我们将看到使用pandas进行分组和聚合。分组和聚合将有助于使用各种函数轻松实现数据分析。这些方法将帮助我们对数据进行分组和汇总,使复杂的分析变得相对容易。

创建一个各科分数的样本数据集。

# import module import pandas as pd    # Creating our dataset df = pd.DataFrame([[9, 4, 8, 9],                    [8, 10, 7, 6],                    [7, 6, 8, 5]],                   columns=['Maths',  'English',                             'Science', 'History'])    # display dataset print(df)

输出:

用Pandas进行分组和聚合

Pandas中的聚合

pandas中的聚合提供了各种函数,对我们的数据集进行数学或逻辑运算,并返回该函数的摘要。聚合可以用来获取数据集中各列的摘要,比如从数据集的某一列获取总和、最小值、最大值等。用于聚合的函数是agg(),参数是我们要执行的函数。

汇总中使用的一些函数是:。

函数描述:

sum() :计算列值的总和 min() :计算列值的最小值 max() :计算列值的最大值 mean() :计算列的平均数 size() :计算列的大小 describe() :产生描述性的统计数据 first() :计算组中的第一个值 last() :计算组内的最后一个值 count() :计算列值的数量 std() :列的标准偏差 var() :计算列的方差 sem() :列的平均数的标准误差

示例:

sum()函数用于计算每个值的总和。 df.sum()

输出:

用Pandas进行分组和聚合

describe()函数被用来获取我们的数据集的摘要 df.describe()

输出:

用Pandas进行分组和聚合

我们使用agg()函数来计算数据集中每一列的总和、最小和最大。 df.agg(['sum', 'min', 'max'])

输出:

用Pandas进行分组和聚合

Pandas中的分组

分组是用来使用我们的数据集的一些标准对数据进行分组。它被用作分割-应用-合并的策略。

根据一些标准将数据分成几组。 将一个函数独立应用于每一组。 将结果合并为一个数据结构。

示例s:

我们使用groupby()函数将数据按 “Maths “值分组。它返回对象作为结果。

df.groupby(by=['Maths'])

输出:

应用groupby()函数将数据按 “Maths “值分组。使用first()函数查看形成的组的结果。

a = df.groupby('Maths') a.first()

输出:

用Pandas进行分组和聚合

首先根据 “数学 “进行分组,在每个小组内,我们根据 “科学 “进行分组。

b = df.groupby(['Maths', 'Science']) b.first()

输出:

用Pandas进行分组和聚合

在一个数据集上的实现

这里我们使用的是钻石信息的数据集。

# import module import numpy as np import pandas as pd    # reading csv file dataset = pd.read_csv("diamonds.csv")    # printing first 5 rows print(dataset.head(5))

输出:

用Pandas进行分组和聚合

我们通过使用cut进行分组,并得到所有列的总和。 dataset.groupby('cut').sum()

输出:

用Pandas进行分组和聚合

在这里,我们使用切割和颜色进行分组,并获得所有其他组的最小值。 dataset.groupby(['cut', 'color']).agg('min')

输出:

用Pandas进行分组和聚合

在这里,我们使用颜色进行分组,并获得价格组的总和、平均值、最小值等汇总值。 # dictionary having key as group name of price and # value as list of aggregation function  # we want to perform on group price agg_functions = {     'price':     ['sum', 'mean', 'median', 'min', 'max', 'prod'] }    dataset.groupby(['color']).agg(agg_functions)

输出:

用Pandas进行分组和聚合

我们可以看到,在prod(积即乘法)一栏中,所有的数值都是inf,inf是数学上无限的数字计算结果。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3