Pandas 如何使用groupby进行求和

Pandas 如何使用groupby进行求和

在本文中,我们将介绍Pandas中groupby函数的使用,实现对数据集的分组求和。

Pandas是Python数据分析领域使用最为广泛的库之一,其中的groupby函数允许我们很方便地对数据进行分组计算,例如求和、均值等。

阅读更多:Pandas 教程

groupby函数

groupby函数的作用是将数据集按照指定的列进行分类,并对同一类别的数据进行聚合计算。其函数定义如下:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=<object object at 0x7f77d40eff50>, observed=False, dropna=True)
  • by:用于指定分组列的名称或名称列表。
  • axis:用于指定分组的轴,0表示按照行的方向分组,1表示按照列的方向分组。
  • level:用于指定分组列级别。
  • as_index:用于指定分组列是否作为索引,如果为false,则分组列会作为新的列添加到结果中。
  • sort:用于指定是否按分组后的列排序。
  • group_keys:用于指定是否为结果分组添加标签。
  • squeeze:用于指定是否删除单列的结果中单列的外部层级(axis=0)或名称(axis=1)。
  • observed:用于指定分类变量中的任何缺少值如何处理。
  • dropna:用于指定是否在结果中删除任何无效分组键。

分组求和示例

我们现在使用Pandas内置数据集tips来演示groupby函数的分组求和功能。

import seaborn as sns
tips = sns.load_dataset('tips')
tips.head()

输出结果如下:

total_bill   tip     sex smoker day time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4

我们现在希望计算出每个星期几的总支出(total_bill)和小费(tip)的和。可以使用groupby函数来实现,代码如下:

tips.groupby('day')[['total_bill', 'tip']].sum()

输出结果如下:

      total_bill     tip
day                    
Thur     1096.33  171.83
Fri       325.88   51.96
Sat      1778.40  260.40
Sun      1627.16  247.39

这个结果告诉我们,周六是最受欢迎的日子,用户的总支出和小费最高。同时,我们也可以按照性别和是否抽烟等维度来分别计算支出和小费。

tips.groupby(['sex', 'smoker'])[['total_bill', 'tip']].sum()

输出结果如下:

               total_bill     tip
sex    smoker                    
Male   Yes        1337.07  183.07
       No         1919.75  302.00
Female Yes         593.27   96.74
       No         1570.95  246.51

这个结果告诉我们,男性和非吸烟者下单了更贵的菜品,留下的小费也更多。女性和吸烟者在此方面略逊一筹。

总结

正如我们所看到的,groupby函数可以帮助我们在Python中对大量数据进行简单和复杂的分组计算,无论是针对某一列分组还是多列分组都可以通过groupby函数实现。并且,groupby函数的参数设置也很灵活,可以满足不同的需求。

在实际的数据分析中,例如对销售数据或用户行为数据进行分析,groupby函数的使用尤为重要,能够提高我们的数据处理效率和分析能力。因此,熟练掌握groupby函数的使用,对于Python数据分析工程师来说是非常必要的基本技能。

本文中,我们简单介绍了Pandas中groupby函数的基本使用方法,其中包括函数的参数设置和分组求和实例。希望这篇文章能够帮助读者更好地掌握和应用groupby函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程