pandas agg

pandas agg

pandas agg

在数据分析和处理过程中,经常会需要对数据进行聚合操作,例如统计每个组的总和、均值、计数等。Pandas 提供了 groupby() 函数和 agg() 函数来实现这种聚合操作,可以方便地对数据进行分组并进行多种统计计算。

1. groupby() 函数

groupby() 函数用于将数据按照指定的列进行分组,返回一个 DataFrameGroupBy 对象。通过 groupby() 函数可以将数据划分为多个组,然后对每个组进行统计计算。

下面是一个示例,演示如何使用 groupby() 函数将数据按照 key 列分组,并计算每个组的平均值:

import pandas as pd

data = {
    'key': ['A', 'B', 'A', 'B', 'A', 'B'],
    'value': [1, 2, 3, 4, 5, 6]
}

df = pd.DataFrame(data)
grouped = df.groupby('key')
result = grouped.mean()

print(result)

运行上述代码,输出如下:

     value
key       
A      3.0
B      4.0

上面的代码首先创建了一个包含键值对的字典 data,然后通过 pd.DataFrame() 函数创建了一个 DataFrame df。接着调用 groupby() 函数按照 key 列进行分组,然后调用 mean() 函数计算每个组的平均值。

2. agg() 函数

agg() 函数是 DataFrameGroupBy 对象的方法,用于对分组后的数据进行聚合统计计算。agg() 函数接受一个字典作为参数,字典的 key 是需要计算的列名,value 是需要计算的函数列表。

下面是一个示例,演示如何使用 agg() 函数计算每个组的总和和均值:

import pandas as pd

data = {
    'key': ['A', 'B', 'A', 'B', 'A', 'B'],
    'value1': [1, 2, 3, 4, 5, 6],
    'value2': [10, 20, 30, 40, 50, 60]
}

df = pd.DataFrame(data)
grouped = df.groupby('key')
result = grouped.agg({'value1': ['sum', 'mean'], 'value2': 'sum'})

print(result)

运行上述代码,输出如下:

    value1        value2
       sum mean   sum
key                   
A        9    3    90
B       12    4   120

上面的代码首先创建了一个包含键值对的字典 data,然后通过 pd.DataFrame() 函数创建了一个 DataFrame df。接着调用 groupby() 函数按照 key 列进行分组,然后调用 agg() 函数计算每个组的 value1 列的总和和均值,以及 value2 列的总和。

除了传入函数列表外,agg() 函数还支持传入自定义函数。下面是一个示例,演示如何通过传入自定义函数计算每个组的最大值减去最小值:

import pandas as pd

data = {
    'key': ['A', 'B', 'A', 'B', 'A', 'B'],
    'value': [1, 2, 3, 4, 5, 6]
}

df = pd.DataFrame(data)
grouped = df.groupby('key')
result = grouped.agg(lambda x: x.max() - x.min())

print(result)

运行上述代码,输出如下:

     value
key       
A        4
B        4

上面的代码传入了一个 lambda 函数,计算每个组的最大值减去最小值,从而得到每个组的范围。

3. 总结

通过本文的介绍,我们了解了 Pandas 中 agg() 函数的基本用法,以及如何通过 groupby() 函数和 agg() 函数实现对数据的灵活统计计算。在实际数据处理过程中,agg() 函数是非常有用的工具,能够帮助我们快速对数据进行分组聚合操作,从而得到更直观、更有用的统计结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程