pandas agg函数

pandas agg函数

参考:pandas agg function

Pandas 是一个强大的 Python 数据分析库,它提供了大量的功能来处理和分析数据。其中,agg 函数是一个非常有用的工具,它允许用户对数据进行聚合操作。本文将详细介绍 agg 函数的使用方法,并通过多个示例展示其在数据分析中的应用。

1. agg 函数简介

agg 函数(也称为聚合函数)是 pandas 中用于聚合计算的函数。它可以对数据集进行多种统计分析,比如求和、平均值、最大值、最小值等。agg 函数可以作用于 DataFrame 的整体,也可以针对特定的列进行计算。

2. 基本使用

示例代码 1:单列聚合

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 对列 A 使用 agg 函数求平均值
result = df['A'].agg('mean')
print(result)

Output:

pandas agg函数

示例代码 2:多列聚合

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 对多列使用 agg 函数求平均值
result = df[['A', 'B']].agg('mean')
print(result)

Output:

pandas agg函数

示例代码 3:对整个 DataFrame 使用多个聚合函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 对整个 DataFrame 使用多个聚合函数
result = df.agg(['sum', 'min'])
print(result)

Output:

pandas agg函数

3. 使用自定义函数进行聚合

示例代码 4:使用自定义函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 定义一个自定义聚合函数
def my_custom_function(x):
    return np.max(x) - np.min(x)

# 使用自定义函数进行聚合
result = df['A'].agg(my_custom_function)
print(result)

示例代码 5:对多列使用自定义函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 使用自定义函数对多列进行聚合
result = df[['A', 'B']].agg(my_custom_function)
print(result)

4. 使用 lambda 函数进行聚合

示例代码 6:使用 lambda 函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 使用 lambda 函数进行聚合
result = df['A'].agg(lambda x: x.max() - x.min())
print(result)

Output:

pandas agg函数

示例代码 7:对整个 DataFrame 使用 lambda 函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 使用 lambda 函数对整个 DataFrame 进行聚合
result = df.agg(lambda x: x.max() - x.min())
print(result)

5. 结合多个聚合函数

示例代码 8:结合内置和自定义聚合函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 结合使用内置和自定义聚合函数
result = df['A'].agg(['mean', np.sum, lambda x: x.max() - x.min()])
print(result)

示例代码 9:对多列使用结合的聚合函数

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': np.random.randn(50),
    'B': np.random.rand(50),
    'C': np.random.randn(50),
    'D': np.random.rand(50),
    'E': ['pandasdataframe.com']*50
})

# 对多列使用结合的聚合函数
result = df[['A', 'B']].agg(['mean', np.sum, lambda x: x.max() - x.min()])
print(result)

6. 使用 agg 函数处理时间序列数据

示例代码 10:时间序列数据聚合

import pandas as pd
import numpy as np

# 创建时间序列数据
date_rng = pd.date_range(start='1/1/2022', end='1/10/2022', freq='D')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0, 100, size=(len(date_rng)))
df.set_index('date', inplace=True)

# 使用 agg 函数进行时间序列数据聚合
result = df.agg('sum')
print(result)

Output:

pandas agg函数

7. 总结

在本文中,我们详细介绍了 pandas 的 agg 函数,展示了其在单列、多列以及整个 DataFrame 上的应用。我们还探讨了如何使用自定义函数和 lambda 函数进行聚合,以及如何结合多个聚合函数来获取更丰富的数据分析结果。通过这些示例,可以看到 agg 函数在数据处理和分析中的强大功能和灵活性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程