Pandas Groupby和Sum

Pandas Groupby和Sum

这是一个简单的概念,但它是一个非常有价值的技术,在数据科学中被广泛使用。它的帮助在于,我们可以:

  • 计算每组的汇总统计数据
  • 进行特定组别转换
  • 做好数据的过滤工作

dataframe.groupby()涉及分割对象、应用函数和合并结果的组合。这可以用来对大量的数据进行分组,并对这些分组进行计算操作,如sum()。

Pandas dataframe.sum()函数返回所请求的轴的数值之和。如果输入的是索引轴,那么它将一列中的所有数值相加,并对所有列重复同样的操作,然后返回一个包含每列中所有数值之和的序列。

为Pandas groupby()和sum()创建DataFrame

# import required module
import pandas as pd
 
# assign data
ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils',
                     'Kings',  'kings', 'Kings', 'Kings',
                     'Riders', 'Royals', 'Royals', 'Riders'],
            'Rank': [1, 2, 2, 3, 3, 4, 1, 1, 2, 4, 1, 2],
 
            'Year': [2014, 2015, 2014, 2015, 2014, 2015, 2016,
                     2017, 2016, 2014, 2015, 2017],
 
            'Points': [876, 789, 863, 673, 741, 812, 756, 788,
                       694, 701, 804, 690]}
 
# create dataframe
df = pd.DataFrame(ipl_data)

输出:

熊猫群比和

示例1:

在这个例子中,我们对Points列的数据进行分组,并计算DataFrame所有数字列的总和。

# use groupby() to compute sum
df.groupby(['Points']).sum()

输出:

熊猫群比和

示例2:

在这里,我们可以在多个列上应用一个组,并在每个组合组上计算出一个总和。

# use groupby() to generate sum
df.groupby(['Team', 'Year'])['Rank'].sum()

输出:

熊猫群比和

例子3:按groupby Keys排序

在这个例子中,我们将数据按年份列分组,并计算DataFrame所有数字列的总和,同时将年份按升序排序。

# use groupby() to generate sum
df.groupby(['Year'], sort=True)['Rank'].sum()

输出:

熊猫群比和

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程