Pandas中使用agg()函数计算平均值

Pandas中使用agg()函数计算平均值

参考:pandas agg average

Pandas是一个强大的Python数据处理库,广泛用于数据分析和数据处理。在处理数据时,经常需要对数据集进行汇总和统计分析。agg()函数是Pandas中一个非常有用的工具,它允许用户对数据进行多种统计计算,包括平均值。本文将详细介绍如何在Pandas中使用agg()函数来计算平均值,并提供多个示例代码,帮助读者更好地理解和掌握其用法。

1. 基本概念

在Pandas中,agg()函数是aggregate()的别名,用于对数据进行聚合操作。这个函数非常灵活,可以接受字符串、函数或者函数列表,并应用于DataFrame的某一列或多列。当计算平均值时,通常会使用字符串'mean'或者直接使用函数np.mean

2. 示例代码

示例1:计算单列的平均值

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用agg()计算列A的平均值
result = df['A'].agg('mean')
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例2:同时计算多列的平均值

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用agg()同时计算列A和列B的平均值
result = df[['A', 'B']].agg('mean')
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例3:对整个DataFrame计算平均值

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用agg()计算整个DataFrame的平均值
result = df.agg('mean')
print(result)

示例4:使用自定义函数计算平均值

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 定义一个计算平均值的函数
def custom_mean(data):
    return np.mean(data)

# 使用agg()和自定义函数计算列A的平均值
result = df['A'].agg(custom_mean)
print(result)

示例5:对不同列使用不同的聚合函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用agg()对列A计算平均值,对列B计算总和
result = df.agg({'A': 'mean', 'B': 'sum'})
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例6:链式使用agg()函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 链式使用agg()函数,先计算平均值,再计算总和
result = df.agg('mean').agg('sum')
print(result)

示例7:使用多个聚合函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 对列A使用多个聚合函数
result = df['A'].agg(['mean', 'sum', 'max'])
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例8:对DataFrame使用多个聚合函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

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

示例9:在分组后使用agg()计算平均值

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'Group': ['X', 'X', 'Y', 'Y', 'Z'],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 分组后使用agg()计算平均值
result = df.groupby('Group').agg('mean')
print(result)

示例10:在分组后对不同列使用不同的聚合函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'Group': ['X', 'X', 'Y', 'Y', 'Z'],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 分组后对不同列使用不同的聚合函数
result = df.groupby('Group').agg({'A': 'mean', 'B': 'sum'})
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例11:使用自定义聚合函数列表

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 定义一个自定义的聚合函数列表
def max_minus_min(x):
    return x.max() - x.min()

# 使用agg()应用自定义聚合函数列表
result = df.agg({'A': ['mean', max_minus_min], 'B': ['sum', 'std']})
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例12:在多级索引上使用agg()

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'Group1': ['X', 'X', 'Y', 'Y', 'Z'],
    'Group2': ['Alpha', 'Beta', 'Alpha', 'Beta', 'Alpha'],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 创建多级索引
df.set_index(['Group1', 'Group2'], inplace=True)

# 使用agg()计算多级索引上的平均值
result = df.agg('mean')
print(result)

示例13:使用agg()处理缺失数据

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, np.nan, 3, 4, 5],
    'B': [np.nan, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用agg()计算平均值,忽略NaN
result = df.agg('mean', skipna=True)
print(result)

示例14:在agg()中使用lambda函数

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 使用lambda函数在agg()中计算平均值
result = df.agg({'A': lambda x: x.mean()})
print(result)

Output:

Pandas中使用agg()函数计算平均值

示例15:结合groupby和agg()使用

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50],
    'Group': ['X', 'X', 'Y', 'Y', 'Z'],
    'C': ['pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com', 'pandasdataframe.com']
})

# 结合groupby和agg()计算每个组的平均值
result = df.groupby('Group').agg({'A': 'mean', 'B': 'mean'})
print(result)

Output:

Pandas中使用agg()函数计算平均值

通过这些示例,我们可以看到agg()函数在数据分析中的多样化应用,从基本的数据聚合到复杂的自定义函数处理,agg()都能提供强大的支持。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程